2010-08-31 10 views
4

J'ai un projet Java dans Netbeans avec plusieurs fichiers jar répertoriés dans sa section de bibliothèque de propriétés. J'ai trouvé un bogue dans l'un des fichiers jar et je veux y entrer pendant le débogage.Java/NetBeans - Comment entrer dans un fichier jar?

Voici ce que je l'ai fait jusqu'à présent:

  1. J'ai trouvé le code source du fichier jar .
  2. J'ai ouvert cette source en tant que projet NetBeans (il se présente comme un projet NetBeans )
  3. J'ai supprimé ce fichier jar du compilation des bibliothèques section de mon projet .
  4. J'ai ajouté le nouveau projet dans la section des bibliothèques de compilation de mon projet en utilisant "ajouter un projet".
  5. A fait un nettoyage et de construire sur le nouveau projet , et sur mon projet.

Il construit et fonctionne comme avant, mais je ne peux toujours pas entrer dans le code du nouveau projet. Mais quand j'essaie d'entrer dans une méthode dans le nouveau projet, Netbeans dit "impossible d'ouvrir (source manquante?)". J'ai également essayé de définir un point d'arrêt dans la méthode du nouveau projet mais Netbeans dit "Impossible de soumettre le point d'arrêt LineBreakpoint ObjectMakerFactory.java: 203, raison: Aucun emplacement exécutable disponible à la ligne 203 dans la classe ...."

+0

Pour de nombreuses dépendances de Maven, vous pouvez ouvrir Dépendances, trouver le pot, cliquer avec le bouton droit de la souris et choisir "télécharger les sources". J'ai ajouté ce commentaire parce qu'il n'était peut-être pas disponible en 2010 lorsque cette question a été posée. – Wheezil

Répondre

1

Assurez-vous vous définissez le point de rupture dans le bon fichier qui est réellement déployé (assurez-vous que c'est dans le bon projet), si vous avez plusieurs projets ouverts.

De plus, assurez-vous sous windows/debugging/sources que votre racine source est également activée. Dans certaines versions, cela est activé par défaut, dans d'autres, vous devez ajouter la racine source et l'activer avec la case à cocher.

+0

Ceux qui semblent corrects. Où doit pointer la source vers, le répertoire où le paquet commence? Par exemple, si le paquet est jpp.nar.crat.maker, la racine source doit-elle pointer vers/src dont jpp est un sous-répertoire? – Greg

+0

Oui, c'est correct, pointez la source vers la racine du paquet. Mais aussi, cliquez avec le bouton droit sur le nœud du projet et la fenêtre Projets et choisissez Propriétés. Dans la boîte de dialogue Propriétés du projet, sélectionnez l'onglet Sources, puis cliquez sur le bouton Inclure/Excludes. Essayez d'inclure le chemin (à la fois complet et/ou à la racine du paquet) là. – dvanaria

+0

Il semble déjà inclure tout. En haut de cette boîte de dialogue, il est indiqué "**" et répertorie tous les dossiers inclus. D'autres choses que je peux essayer? – Greg

1

Je ne peux pas dire pour netbeans, mais pour Eclipse et IntelliJ j'ai toujours eu du succès en téléchargeant le pot de src et en l'ajoutant au projet. Ensuite, dans mon code lorsque je clique sur la méthode pour une classe dans le pot, l'EDI m'amène à la source. Si cela se produit, vous pouvez définir des points d'arrêt dans le src et procéder comme d'habitude.

Questions connexes