Je sais que cette question a déjà été posée à plusieurs reprises, mais aucune des solutions proposées ne résout mon problème (ou je ne les implémente pas correctement).
Je développe un plug-in pour OpenFire et, lorsque je définis un point d'arrêt dans ma source de plug-in, Eclipse signale "Source non trouvée". Le fichier JAR est construit séparément de la construction du serveur OpenFire. J'ai essayé d'ajouter le JAR et de spécifier le répertoire du code source, mais pas de dés.
Voici le processus que je suis en train de suivre: Quand je frappe mon point d'arrêt, je clique sur "Modifier le chemin de recherche source", sur "Ajouter", sur Bibliothèque Java, Bibliothèque utilisateur, sur Bibliothèques utilisateur, puis sur l'ajout de ma bibliothèque "Ajouter des fichiers JAR externes"), puis spécifiez le dossier contenant le code source. J'ai aussi essayé:
Merci d'avance pour toute suggestion.
Eh bien, il s'avère que la solution était anti-climatique. Lorsque les recommandations de Balder ne fonctionnaient pas, j’essayais de déboguer l’un des plug-ins OpenFire et cela fonctionnait parfaitement. J'ai ensuite créé un nouveau plugin à partir de rien et en ne faisant rien d’ajouter que l’ajout du source au projet (clic droit sur le projet -> Nouveau -> Dossier source), cela fonctionnait parfaitement. Je ne sais pas pourquoi Eclipse refuse de voir la source de mon plugin d'origine, mais j'ai déplacé tout mon code et toutes mes bibliothèques vers le nouveau plugin et le débogage a fonctionné comme prévu.
Personnellement, je n’ai aucune bonne expérience d’Eclipse JDT lors de l’ajout d’un dossier source au moment où il atteint un point de rupture. Ce que je préfère toujours faire, c'est d'ajouter le dossier source avant le débogage:
Après cela, vous devriez pouvoir ouvrir les fichiers source dans le dossier virtuel "Bibliothèques référencées" (directement sous le dossier "JRE System Library" dans le projet) ou lors de l'ouverture d'une référence à une classe liée. fichier depuis l’éditeur JDT. Si vous pouvez accéder à la source, vous devriez également pouvoir au moins vous arrêter au point de rupture et voir la source correspondante.
Sinon, vous devrez vérifier à nouveau si le dossier source est vraiment valide: le dossier source ou son archive source doit contenir le dossier portant le nom du paquet racine de la bibliothèque (par exemple, le fichier Java "src.Zip" par défaut dans le JDK). Le dossier inclut également un dossier "Java" correspondant à la racine). En cas de doute, extrait l'archive et sélectionnez le dossier parent du paquet qui vous intéresse. Parfois, les archives sources peuvent être désordonnées ou incompatibles avec JDT.
Si cela a été assuré et que cela ne fonctionne toujours pas, il est probable que votre dossier source lié ne correspond pas à la version compilée de la bibliothèque. Habituellement, JDT gèrera très bien ces incohérences, mais si vous essayez d'ouvrir un fichier source totalement différent du fichier de classe correspondant, vous rencontrerez des problèmes. Dans ce cas, je suggérerais soit de télécharger la version source correcte de la bibliothèque, soit de recompiler la bibliothèque à partir de la source , si tout le reste échoue.
Si ouvrir un fichier source référencé à partir de l'éditeur JDT fonctionne correctement et si vous ne parvenez toujours pas à ouvrir les fichiers source lorsqu'un point d'arrêt est entré pendant le débogage, il est fort probable que les fichiers de classe sont sans les numéros de ligne de le fichier source correspondant. Là encore, vous devrez recompiler la bibliothèque à partir de la source.
Enfin, il est également possible d'écraser la recherche source par défaut en spécifiant des dossiers ou des archives source dans l'onglet source de la configuration de lancement. Mais vous ne devriez normalement pas en avoir besoin lorsque votre chemin de génération est configuré correctement. Depuis le Aide Eclipse :
L'onglet Source définit l'emplacement des fichiers source utilisés pour afficher la source lors du débogage d'une application Java. Par défaut, ces paramètres sont dérivés du chemin de génération du projet associé. Vous pouvez remplacer ces paramètres ici.
J'ai eu ce problème très ennuyeux pendant une longue période, mais j'ai finalement réussi à le résoudre. Dans mon cas, une exception de pointeur null était émise quelque part dans la fonction Transformer.IsRuntimeCode (ProtectionDomain) de Java.
Je n'avais pas vraiment besoin de savoir cela car l'exception était capturée et gérée, mais Eclipse mettait en pause le débogage à chaque fois que cela se produisait et me disait que la source n'était pas disponible. En conséquence, je devais constamment appuyer sur le bouton pour continuer l'exécution du code.
Afin d'éviter cela, j'ai:
1. Clicked on the "Breakpoints" window at the bottom of the debugging
screen
2. Right clicked "NullPointerException"
3. Unchecked "Caught"
Cela empêchait le débogueur de suspendre le flux du programme lors de la saisie d'un texte NullPointerException.alt.
alt text http://www.SharpDetail.com/p/so_breakpoint.gif
Et cet autre comme:
Eclipse ne tombe pas en panne. Vous essayez d'entrer dans une méthode dans laquelle Eclipse ne sait pas où trouver les fichiers source (* .Java) et vous en informe. Voici comment dire à Eclipse où chercher. Aller à
Window->Preferences->Java->Installed JREs,select the JRE you are using and click Edit.
Là, sélectionnez tous les fichiers JAR dans la liste que vous voyez et cliquez sur Pièce jointe ....
Dans la fenêtre qui s’affiche, sélectionnez la fille src.Zip qui se trouve dans votre dossier JDK (si vous ne l’avez pas décochée lors de l’installation du JDK). Sur la machine sur laquelle je suis en ce moment, c’est
C:\Program Files\Java\jdk1.7.0_07\src.Zip.
Enregistrez toutes vos modifications (éventuellement, redémarrez Eclipse) et vous ne verrez plus cette erreur.
Vous avez souvent placé des fichiers jar dans Eclipse IDE en tant que bibliothèques référencées lors du téléchargement de la version binaire de l'application. Cela se fait généralement en configurant le chemin de compilation. Mais le binaire n'a pas les fichiers source. Vous avez la version binaire et la version source de l'application.
Un moyen simple consiste à télécharger les bibliothèques sources que vous utilisez également maven pour générer le projet. Gardez quelque part, peut-être à l'intérieur de l'espace de travail de votre projet.
Maintenant, lorsque vous voyez le fichier de classe (de Eclipse, jar a explosé), vous pouvez voir la source non trouvée, très bien .... il y a un bouton ci-dessous et cliquez dessus, une nouvelle fenêtre s'ouvre et sélectionnez Ajouter un dossier externe.
Référencez-le au dossier src de la source que vous avez téléchargée (pas au fichier binaire) et conservez-le quelque part, comme indiqué ci-dessus, et les détails de la classe s'afficheront.