Lors du débogage d'une application java dans eclipse, je reçois une erreur « Source non trouvée » dans deux cas:
- Accéder à un fichier dans un autre projet déjà importé
- Accéder à un fichier dans un référentiel maven installé
Les fichiers sont là, mais eclipse ne les entrera pas, à la place, il affiche un bouton pour " attacher la source "
J'ai essayé de joindre (ce qui a ouvert une boîte de dialogue pour définir une variable?!) Et eclipse a accédé au fichier, mais le débogueur n'a pu inspecter aucune variable. Attacher manuellement la source pour chaque dépendance n'est pas pratique, car dans mon cas, il existe des milliers de fichiers de dépendances.
Je suis nouveau dans eclipse \ java donc une explication de pourquoi cela se produit + comment résoudre cela aiderait beaucoup!
Seulement 3 étapes pour configurer Eclipse IDE:
Modifier la recherche de source Sélectionnez la commande Modifier la recherche de source ... [Modifier la recherche de source] pour ouvrir la boîte de dialogue Chemin de source, qui vous permet de modifier le chemin de recherche de source de la cible de débogage sélectionnée.
IMPORTANT Redémarrez Eclipse après cette dernière étape.
la source
Les symptômes décrivent parfaitement le cas où la classe trouvée n'a pas de source associée (ou attribuée).
Mais que se passe-t-il si Eclipse vous suggère toujours d'attacher la source, même si j'ai correctement défini mes classes et leurs sources:
Cela signifie presque toujours qu'Eclipse trouve la classe d'un endroit différent de celui auquel vous vous attendez. Inspectez votre chemin de recherche source pour voir où il pourrait obtenir la mauvaise classe. Mettez à jour le chemin en fonction de vos résultats.
Eclipse ne trouve rien du tout, lorsque le point d'arrêt est atteint:
Cela se produit, lorsque vous êtes source, le chemin de recherche ne contient pas la classe actuellement chargée dans le runtime. Même si la classe est dans l'espace de travail, elle peut être invisible pour la configuration de lancement, car Eclipse suit strictement le chemin de recherche de source et attache uniquement les dépendances du projet, qui est actuellement débogué.
Les bundles de débogage dans PDE constituent une exception . Dans ce cas, comme l'environnement d'exécution est composé de plusieurs projets, qui n'ont pas à déclarer de dépendances les uns sur les autres, Eclipse trouvera automatiquement la classe dans l'espace de travail, même si elle n'est pas disponible dans le chemin de recherche source.
Je ne peux pas voir les variables lorsque j'atteins un point d'arrêt ou qu'il ouvre simplement la source, mais ne sélectionne pas la ligne de point d'arrêt:
Cela signifie que lors de l'exécution, la JVM ou les classes elles-mêmes ne disposent pas des informations de débogage nécessaires. Chaque fois que les classes sont compilées, des informations de débogage peuvent être jointes. Pour réduire l'espace de stockage des classes, ces informations sont parfois omises, ce qui complique le débogage de ce code. Votre seule chance est d'essayer de recompiler avec le débogage activé.
Le visualiseur de source Eclipse affiche des lignes différentes de celles qui sont réellement exécutées:
Cela peut parfois montrer que l'espace vide est également exécuté. Cela signifie que vos sources ne correspondent pas à votre version d'exécution des classes. Même si vous pensez que ce n'est pas possible, c'est le cas, alors assurez-vous de configurer les bonnes sources. Ou votre environnement d'exécution correspond à vos dernières modifications, en fonction de ce que vous essayez de faire.
la source
Depuis http://www.coderanch.com/t/587493/vc/Debugging-Eclipse-Source
"Lors de l'exécution en mode débogage, cliquez avec le bouton droit sur le thread en cours d'exécution (dans l'onglet threads) et sélectionnez Modifier la recherche de source. À ce stade, vous devriez être en mesure d'ajouter le projet / jar nécessaire qui contient votre code source."
J'ai ajouté mon projet actuel de cette façon, et cela a résolu mon problème
la source
J'ai eu un problème similaire avec mon projet eclipse maven. Je me suis battu avec ce problème assez longtemps, puis j'ai essayé de reconstruire le projet avec
et cela a aidé.
Remarque: l'utilisation de cette approche confondra le plugin m2e car les deux approches sont très différentes. m2e ajoute un nœud virtuel à votre projet appelé "Maven Dependencies" et demande à Maven d'y ajouter toutes les dépendances.
mvn eclipse:eclipse
, d'autre part, créera de nombreuses entrées individuelles dans le fichier.classpath
. Eclipse les gérera comme si vous ajoutiez manuellement des fichiers JAR à votre projet.À moins que vous ne sachiez comment fonctionne le chemin de classe dans Eclipse, cette approche n'est pas recommandée.
la source
mvn eclipse:eclipse
ajoutez une dépendance de projet au chemin de construction java, pour que cela fonctionne. De plus, le plugin m2eclipse ajoutera la dépendance du projet uniquement dans "Maven Dependencies" qui dans l'onglet Bibliothèques, et le débogueur ne peut pas trouver.Supprimez la configuration de débogage existante et créez-en une nouvelle. Cela devrait résoudre le problème.
la source
J'étais confronté au même problème, j'ai suivi les étapes ci-dessous.
Window=> Preferences=> Java=> Installed JREs,
Vous voyez dans l'écran ci-dessus
Jre1.8.0_12
est sélectionné.sélectionnez le JRE que vous utilisez et cliquez sur Edit. Vous devriez maintenant voir l'écran ci-dessous.
Cliquez sur le répertoire, recherchez Jdk, cela devrait ressembler à l'écran ci-dessous.
cliquez ok, et c'est fait
la source
java.
likejava.lang.String
)J'ai eu le problème que mon Eclipse ne déboguait pas le code source de mon projet. J'obtenais une page vierge avec "Nœud de code source trouvé".
Veuillez cliquer sur le bouton Joindre le code source. Supprimez ensuite le dossier "par défaut" puis cliquez sur Ajouter et accédez à l'emplacement de votre projet et attachez-le. Cela a fonctionné pour moi
la source
Dans mon cas, même après la modification de la recherche de source et l'ajout d'un projet, cela n'a pas fonctionné. J'ai configuré le chemin de construction du projet.
Après cela, j'ai sélectionné la bibliothèque système JRE et cela a fonctionné.
la source
Evidemment, Eclipse ne sait pas automatiquement où se trouve le code source des fichiers JAR dépendants. Il n'est pas clair pourquoi le débogueur n'a pas pu inspecter les variables une fois la source attachée. Une possibilité est une source incorrecte / incompatible.
En supposant que vous avez un projet maven et que les sources des dépendances sont téléchargées et disponibles dans le référentiel local, vous pouvez installer m2eclipse , le plugin maven eclipse et voir si cela aide à résoudre votre problème.
la source
Vous pouvez avoir le code source d'une dépendance accessible à Eclipse. Mais Eclipse ne connaît pas le code source du code chargé dynamiquement. Par exemple via Maven.
Dans le cas de Maven, je vous recommande d'utiliser le plugin run-jetty-run:
http://code.google.com/p/run-jetty-run/
Pour contourner ce problème, vous pouvez également vous connecter à une machine virtuelle Java en cours d'exécution avec le débogueur et vous verrez le code. Vous pouvez également utiliser le plugin Dynamic Source Lookup pour Eclipse à partir d'ici:
https://github.com/ifedorenko/com.ifedorenko.m2e.sourcelookup
Malheureusement, cela ne m'a pas aidé car il a des problèmes avec les chemins Windows avec des espaces.
J'ai rempli une demande d'amélioration sur Eclipse Bugzilla et si vous acceptez que le problème "Source non trouvée" devrait disparaître pour toujours, veuillez voter ici:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=384065
Merci!
Sasa
la source
Dans mon cas, dans "Attach Source", j'ai ajouté l'autre répertoire de projet maven dans le panneau "Source Attachment Configuration". L'ajout de la dernière version jar du référentiel m2 ne fonctionnera pas. Toutes les classes de l'autre projet maven n'ont pas pu s'ouvrir.
Ici, le test était mon autre projet maven contenant toutes les sources java.
la source
Cliquez sur -> Modifier le chemin de recherche de la source
ensuite
Cliquez sur -> Ajouter enfin sélectionnez le projet Java et sélectionnez le chemin du projet.
Source: https://www.youtube.com/watch?v=IGIKPY6q1Qw
la source
J'ai eu le même problème. Dans mon cas, j'ai désactivé Window-Preferences-Java-Debug [Suspend execution on uncaught exceptions]. Ensuite, la console m'a montré l'erreur correcte: mon utilisateur MySql n'avait pas les privilèges pour accéder à la base de données. Selon ce sujet.
la source
Info: C'est une solution possible, lorsque vous utilisez maven (pom.xml) avec quelques projets.
Si vous travaillez avec maven, assurez-vous quelle version vous prenez à l'intérieur du pom.xml correspondant (par exemple 1.0.1-SNAPSHOT). Il est possible que votre code soit à jour, mais vos dépendances pom.xml prennent toujours les anciens JAR / Snapshots (avec l'ancien code).
Trouver le problème:
la source
Si vous êtes sur eclipse ou STS, veuillez installer et utiliser GC (GrepCode Plugin), parfois vous n'avez pas besoin de joindre le fichier source .zip dans le chemin de votre projet afin que GrepCode fonctionne bien pour vous.
la source
J'ai eu un problème lié au débogage du serveur Glassfish dans Eclipse. Cela a été provoqué par le chargement du code source à partir d'un référentiel différent (passant de SVN à GitHub). Dans le processus, les mauvaises classes compilées ont été utilisées par le serveur Glassfish et, par conséquent, la source et le temps d'exécution seraient désynchronisés avec les points d'arrêt apparaissant sur des lignes vides.
Pour résoudre ce problème, renommez ou supprimez le dossier supérieur du répertoire des classes et Glassfish recréera toute l'arborescence du répertoire de classe, y compris la mise à jour des fichiers de classe avec la version correctement compilée.
Le répertoire classes se trouve dans: / workspace / glassfish3122eclipsedefaultdomain / eclipseApps / <votre application Web> / WEB-INF / classes
la source
Dans mon cas avec les projets tomcat, j'ai vérifié le projet ici: Fenêtre - Préférences - Tomcat - Chemin source - Ajouter des projets java au chemin source
la source
Dans mon cas, la version Maven de l'autre projet référencé ne correspondait pas à la version du projet de test. Une fois qu'ils étaient identiques, le problème a disparu.
la source
Lors de l'exécution en mode débogage, cliquez sur Modifier la recherche de source après avoir été suspendu du thread. À ce stade, nous devrions être en mesure d'ajouter le projet / jar nécessaire qui contient votre code source. Après avoir ajouté mon projet actuel de cette manière, cela a résolu mon problème. Merci
la source
Si vous souhaitez attacher du code source à n'importe quel JAR par téléchargement automatique, essayez d'utiliser ce plugin Eclipse Java Source Attacher
la source
J'ai eu ce problème en travaillant sur du code java pour traiter un fichier Excel contenant un ensemble de données, puis le convertir en fichier .csv, j'ai essayé des réponses à ce message, mais elles n'ont pas fonctionné. le problème était les fichiers jar eux-mêmes. après avoir téléchargé les fichiers jar nécessaires un par un (versions plus anciennes) et les ajouter à mon projet, l'erreur "source non trouvée" a disparu. peut-être que vous pouvez vérifier vos fichiers jar. espérons que cela aiderait.
la source
cela a fonctionné pour moi
faites un clic droit sur le projet -> Propriétés -> Assemblage de déploiement -> ajoutez votre jar
la source
Accédez à la configuration de débogage dans eclipse et utilisez l'objectif ci-dessous pour exécuter votre application.
-Dmaven.surefire.debug
par exemple
-Dmaven.surefire.debug exec: java
la source
Eh bien, voici ce qui a fonctionné pour moi. J'ai essayé toutes les solutions possibles sur StackOverflow. J'ai essayé de changer mon emplacement source dans le menu de débogage, j'ai installé le plugin m2e Eclipse, j'ai changé de Maven intégré, et j'ai installé run-jetty-run et rien n'a fonctionné. Maintenant, je tiens à préciser que je n'essayais pas de voir le code source d'une personne externe, je voulais juste voir mon propre code, mais chaque fois que je "suis entré" dans mes méthodes que j'ai écrites et qui étaient dans MON projet, j'ai obtenu le Erreur "Source maintenant trouvée".
Après avoir finalement demandé à un expert, mon problème était que la première chose qu'Eclipse faisait était d'appeler un ClassLoader, que vous pouvez voir à partir de la pile de débogage. Tout ce que j'avais à faire était F6 (pas en avant), puis cela m'a ramené à mon appel d'origine, puis F5 (en). Et il y avait mon code. Soupir ... une solution si simple mais une heure perdue.
la source
Pour les débutants,
Il est possible que le fichier jar fasse partie du projet que vous n'avez pas encore inclus dans l'espace de travail Eclipse.
Pour cela, vous devez connaître le nom du projet du fichier jar. Disons, par exemple, son abc -18.0.0-SNAPSHOT.jar, cela signifie que le projet que vous êtes censé inclure dans votre espace de travail est abc .
la source
J'ai eu le même problème avec eclipse 2019-03 (4.11.0) et je n'ai pu résoudre cela qu'en effectuant le débogage via le débogage à distance au lieu de le lancer directement en mode débogage.
la source
Joindre la source -> Ajouter -> Archive externe -> sélectionnez le pot -> ouvrir -> terminé
le hic est de chercher le pot de sources et d'attacher ce pot.
par exemple, le jar se termine par "-sources" Stax2-api-3.4.1-sources
la source
Si vous essayez de déboguer votre projet maven java et qu'eclipse ne parvient pas à trouver votre source, essayez l'un de ceux-ci.
Essayez maven-> update puis déboguez
essayez maintenant de déboguer
la source
Dans eclipse photon, essayez de désactiver "Fenêtre-> Préférences-> Java-> Débogage-> Utiliser la recherche avancée de source"
Edit: Il y a un bogue lié dans cette version d'Eclipse qui conduit à un message "source not found" lors du débogage des applications Java. Voir le rapport de bogue bugs.eclipse.org/bugs/show_bug.cgi?id=537699 pour plus de détails
la source