Al depurar una aplicación de Java en eclipse, recibo el error " Fuente no encontrada " en dos casos:
- Entrar a un archivo en un proyecto diferente que ya está importado
- Entrar a un archivo en un repositorio maven instalado
Los archivos están allí, pero eclipse no entrará en ellos, sino que muestra un botón para " adjuntar fuente "
Intenté adjuntar (¿qué abrió un cuadro de diálogo para definir una variable?) Y eclipse saltó al archivo, pero el depurador no pudo inspeccionar ninguna variable allí. Además, adjuntar manualmente la fuente para cada dependencia no es práctico, ya que en mi caso hay miles de archivos de dependencia.
Soy nuevo en eclipse \ java, así que una explicación de por qué sucede esto + ¡cómo resolver esto ayudaría mucho!
Solo 3 pasos para configurar Eclipse IDE:
Editar búsqueda de origen Seleccione el comando Editar búsqueda de origen ... [Editar búsqueda de origen] para abrir el cuadro de diálogo Ruta de origen, que le permite realizar cambios en la ruta de búsqueda de origen del destino de depuración seleccionado.
IMPORTANTE Reinicie Eclipse después de este último paso.
fuente
Los síntomas describen perfectamente el caso cuando la clase encontrada no tiene una fuente asociada (o asignada).
Pero, ¿qué pasa si Eclipse todavía sugiere que adjunte la fuente, incluso si configuro correctamente mis clases y sus fuentes:
Esto casi siempre significa que Eclipse está encontrando la clase desde un lugar diferente al esperado. Inspeccione su ruta de búsqueda de origen para ver dónde podría obtener la clase incorrecta. Actualice la ruta de acuerdo a sus hallazgos.
Eclipse no encuentra nada en absoluto, cuando se alcanza el punto de interrupción:
Esto sucede cuando la ruta de búsqueda de origen no contiene la clase, que actualmente está cargada en el tiempo de ejecución. Incluso si la clase está en el espacio de trabajo, puede ser invisible para la configuración de inicio, porque Eclipse sigue estrictamente la ruta de búsqueda de origen y solo vincula las dependencias del proyecto, que actualmente está depurado.
Una excepción son los paquetes de depuración en PDE . En este caso, debido a que el tiempo de ejecución se compone de múltiples proyectos, que no tienen que declarar dependencias entre sí, Eclipse encontrará automáticamente la clase en el espacio de trabajo, incluso si no está disponible en la ruta de búsqueda de origen.
No puedo ver las variables cuando alcanzo un punto de interrupción o simplemente abre la fuente, pero no selecciona la línea del punto de interrupción:
Esto significa que en el tiempo de ejecución, la JVM o las clases mismas no tienen la información de depuración necesaria. Cada vez que se compilan las clases, se puede adjuntar información de depuración. Para reducir el espacio de almacenamiento de las clases, a veces se omite esta información, lo que dificulta la depuración de dicho código. Su única oportunidad es intentar recompilar con la depuración habilitada.
El visor de origen de Eclipse muestra líneas diferentes a las que realmente se ejecutan:
A veces puede mostrar que el espacio vacío también se ejecuta. Esto significa que sus fuentes no coinciden con su versión en tiempo de ejecución de las clases. Incluso si cree que esto no es posible, lo es, así que asegúrese de configurar las fuentes correctas. O su tiempo de ejecución coincide con sus últimos cambios, dependiendo de lo que intente hacer.
fuente
De http://www.coderanch.com/t/587493/vc/Debugging-Eclipse-Source
"Cuando se ejecuta en modo de depuración, haga clic derecho en el hilo en ejecución (en la pestaña de hilos) y seleccione Editar búsqueda de origen. En este punto, debería poder agregar el proyecto / jar necesario que contiene su código fuente".
Agregué mi proyecto actual de esta manera, y resolvió mi problema
fuente
Tuve un problema similar con mi proyecto eclipse maven. Luché con este problema durante bastante tiempo y luego intenté reconstruir el proyecto con
y ayudó
Nota: El uso de este enfoque confundirá el complemento m2e ya que los dos enfoques son muy diferentes. m2e agrega un nodo virtual a su proyecto llamado "Dependencias de Maven" y le pide a Maven que agregue todas las dependencias allí.
mvn eclipse:eclipse
, por otro lado, creará muchas entradas individuales en el archivo.classpath
. Eclipse los manejará como si agregara manualmente JAR a su proyecto.A menos que sepa cómo funciona el classpath en Eclipse, no se recomienda este enfoque.
fuente
mvn eclipse:eclipse
agregue dependencia del proyecto a la ruta de compilación de Java, para que funcione. Además, el complemento m2eclipse agregará la dependencia del proyecto solo en "Dependencias de Maven" que en la pestaña Bibliotecas, y el depurador no puede encontrar.Elimine la configuración de depuración existente y cree una nueva. Eso debería resolver el problema.
fuente
Estaba enfrentando el mismo problema, seguí los siguientes pasos.
Window=> Preferences=> Java=> Installed JREs,
Usted ve en la pantalla anterior
Jre1.8.0_12
está seleccionado.seleccione el JRE que está utilizando y haga clic Edit. Ahora deberías ver la pantalla de abajo.
Haga clic en el directorio, busque Jdk, debería verse debajo de la pantalla.
haga clic en Aceptar, y listo
fuente
java.
likejava.lang.String
)Tuve el problema de que mi Eclipse no estaba depurando el código fuente de mi proyecto. Estaba recibiendo una página en blanco con "Nodo de código fuente encontrado".
Haga clic en el botón Adjuntar código fuente. Luego elimine la carpeta "predeterminada", luego haga clic en Agregar, vaya a la ubicación de su proyecto y adjunte. Esto funciono para mi
fuente
En mi caso, incluso después de editar la búsqueda de origen y agregar el proyecto, no funcionó. Configuré la ruta de compilación del proyecto.
Después de eso, seleccioné JRE System Library y funcionó.
fuente
Evidentemente, Eclipse no sabe automáticamente dónde está el código fuente de los archivos jar dependientes. No está claro por qué el depurador no pudo inspeccionar las variables una vez que se adjuntó la fuente. Una posibilidad es la fuente incorrecta / incompatible.
Suponiendo que tiene un proyecto maven y que las fuentes de las dependencias están descargadas y disponibles en el repositorio local, puede instalar m2eclipse , el complemento maven eclipse y ver si eso ayuda a resolver su problema.
fuente
Es posible que tenga el código fuente de una dependencia accesible para Eclipse. Pero Eclipse no conoce el código fuente del código que se carga dinámicamente. Por ejemplo, a través de Maven.
En el caso de Maven, le recomiendo que use el complemento run-jetty-run:
http://code.google.com/p/run-jetty-run/
Como solución alternativa, también puede conectarse a una JVM en ejecución con el depurador y verá el código. Alternativamente, puede usar el complemento Dynamic Source Lookup para Eclipse desde aquí:
https://github.com/ifedorenko/com.ifedorenko.m2e.sourcelookup
Lamentablemente no me ayudó, ya que tiene problemas con las rutas de Windows con espacios.
He completado una solicitud de mejora en Eclipse Bugzilla y si está de acuerdo con que este problema "Fuente no encontrada" desaparezca para siempre, vote por él aquí:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=384065
¡Gracias!
Sasa
fuente
En mi caso en "Adjuntar fuente", agregué el otro directorio de proyectos maven en el panel "Configuración de adjuntos de fuente". Agregar la última versión jar del repositorio m2 no funciona. Todas las clases del otro proyecto maven no se pudieron abrir.
Aquí la prueba fue mi otro proyecto Maven que contiene todas las fuentes de Java.
fuente
Haga clic en -> Editar ruta de búsqueda de origen
después
Haga clic en -> Agregar, finalmente seleccione el proyecto Java y seleccione la ruta del proyecto.
Fuente: https://www.youtube.com/watch?v=IGIKPY6q1Qw
fuente
Tuve el mismo problema. En mi caso, he deshabilitado Window-Preferences-Java-Debug [Suspender ejecución en excepciones no detectadas]. Luego, la consola me mostró el error correcto: mi usuario de MySql no tenía privilegios para acceder a la base de datos. De acuerdo a este tema.
fuente
Información: esta es una posible solución cuando utiliza maven (pom.xml) con un par de proyectos.
Si está trabajando con maven, asegúrese de qué versión está tomando dentro del pom.xml correspondiente (por ejemplo, 1.0.1-SNAPSHOT). Es posible que su código esté actualizado, pero sus dependencias de pom.xml todavía están tomando las antiguas JAR's / Snapshots (con el código antiguo).
Encontrando el problema:
fuente
Si está en eclipse o STS, instale y use GC (complemento GrepCode), en algún momento no necesita adjuntar el archivo .zip de origen a la ruta del proyecto para que GrepCode funcione bien para usted.
fuente
He tenido un problema relacionado con la depuración del servidor Glassfish en Eclipse. Esto se logró cargando el código fuente desde un repositorio diferente (cambiando de SVN a GitHub). En el proceso, el servidor Glassfish utilizó las clases compiladas incorrectas y, por lo tanto, la fuente y el tiempo de ejecución no estarían sincronizados con los puntos de interrupción que aparecen en líneas vacías.
Para resolver esto, cambie el nombre o elimine la carpeta superior del directorio de clases y Glassfish recreará todo el árbol del directorio de clases, incluida la actualización de los archivos de clase con la versión compilada correctamente.
El directorio de clases se encuentra en: / workspace / glassfish3122eclipsedefaultdomain / eclipseApps / <your Web Application> / WEB-INF / classes
fuente
En mi caso con proyectos tomcat, he marcado el proyecto aquí: Ventana - Preferencias - Tomcat - Ruta de origen - Agregar proyectos de Java a la ruta de origen
fuente
En mi caso, la versión Maven del otro proyecto referenciado no coincidía con la versión del proyecto de prueba. Una vez que fueron iguales, el problema desapareció.
fuente
Cuando se ejecuta en modo de depuración, haga clic en Editar búsqueda de origen después de suspenderlo del hilo. En este punto, deberíamos poder agregar el proyecto / jar necesario que contiene su código fuente. Después de agregar mi proyecto actual de esta manera, y resolvió mi problema. Gracias
fuente
Si desea adjuntar el código fuente a cualquier JAR mediante descarga automática, intente usar este complemento Eclipse Java Source Attacher
fuente
Tuve este problema mientras trabajaba en el código de Java para realizar el proceso en un archivo de Excel que contenía un conjunto de datos, luego lo convertí a un archivo .csv, probé respuestas a esta publicación, pero no funcionaron. El problema eran los propios archivos jar. después de descargar los archivos jar necesarios uno por uno (versiones anteriores) y agregarlos a mi proyecto, el error "fuente no encontrada" desapareció. tal vez puedas revisar tus archivos jar. Espero que esto ayude.
fuente
esto funcionó para mí
haga clic derecho en proyecto -> Propiedades -> Ensamblaje de implementación -> agregue su jar
fuente
Vaya a Configuración de depuración en eclipse y use el siguiente objetivo para ejecutar su aplicación.
-Dmaven.surefire.debug
p.ej
-Dmaven.surefire.debug exec: java
fuente
Bueno, esto es lo que funcionó para mí. Probé todas las soluciones posibles en StackOverflow que había. Intenté cambiar mi ubicación de origen en el menú de depuración, instalé el complemento Eclipse m2e, cambié de Maven incrustado e instalé run-jetty-run y nada funcionó. Ahora, advierto que no estaba tratando de ver el código fuente de una persona externa, solo quería ver mi PROPIO código, pero cada vez que "intervenía" en mis métodos que escribí que estaban en MI proyecto, recibí el Error "Fuente ahora encontrada".
Después de finalmente preguntarle a un experto, mi problema fue que lo primero que hizo Eclipse fue llamar a un ClassLoader, que puede ver desde la pila de depuración. Todo lo que tenía que hacer era F6 (pasar) y luego me llevó de vuelta a mi llamada original y luego F5 (entrar). Y ahí estaba mi código. Suspiro ... una solución tan simple pero una hora perdida.
fuente
Para principiantes,
Existe la posibilidad de que el archivo jar forme parte del proyecto que aún no ha incluido en el espacio de trabajo de Eclipse.
Para eso, necesita saber el nombre del proyecto del archivo jar. Digamos, por ejemplo, su abc -18.0.0-SNAPSHOT.jar, significa que el proyecto que debe incluir en su espacio de trabajo es abc .
fuente
Tuve el mismo problema con eclipse 2019-03 (4.11.0) y solo pude resolver esto haciendo la depuración a través de la depuración remota en lugar de iniciarlo directamente en modo de depuración.
fuente
Adjuntar fuente -> Agregar -> Archivo externo -> seleccione el jar -> abrir -> listo
el truco es buscar el jar de fuentes y adjuntar este jar.
por ejemplo, el jar finaliza con "-sources" Stax2-api-3.4.1-sources
fuente
Si está intentando depurar su proyecto maven java y eclipse no puede encontrar su fuente, pruebe uno de estos.
Prueba maven-> update y luego depura
ahora intenta depurar
fuente
En eclipse photon intente desactivar "Ventana-> Preferencias-> Java-> Depurar-> Usar búsqueda avanzada de fuente"
Editar: hay un error relacionado en esta versión de eclipse que conduce a un mensaje de "fuente no encontrada" al depurar aplicaciones Java. Consulte el informe de errores bugs.eclipse.org/bugs/show_bug.cgi?id=537699 para obtener más detalles.
fuente