java - descargar - Problema de ruta de clase de tiempo de depuración de Eclipse: ¿cómo se incluye la salida de un proyecto dependiente en el classpath de tiempo de ejecución de un proyecto web?
mysql connector java 5.1 35 bin jar download (2)
Las dependencias del módulo Java EE resolverían este problema. Ya ha realizado la tarea de extraer sus clases comunes en su propio proyecto, posiblemente porque otros proyectos dependen de estas clases. De cualquier manera, deberá asegurarse de que se trata de un proyecto de utilidad (aparece en Java EE en los asistentes del proyecto) y no solo de un proyecto Java simple. Una vez hecho esto, puede continuar agregando el proyecto de utilidad a su ruta de compilación (ruta en tiempo de compilación) tal como lo ha descubierto.
El paso adicional (final) es establecer una dependencia del módulo Java EE entre su proyecto Web dinámico y la biblioteca compartida, lo que hace que las clases de la utilidad se ubiquen en WEB-INF / lib durante la implementación, e incluso durante la exportación del WAR. Para hacerlo, visite las propiedades del proyecto web dinámico y busque las dependencias del módulo Java EE. Asegúrese de que su proyecto de utilidad esté seleccionado aquí. Volver a implementar / publicar su aplicación y debería estar listo para comenzar.
Así que comencé con un proyecto de servicios web (solo un proyecto web dinámico) que crea y depura correctamente desde eclipse. Hemos extraído un fragmento de código común que queremos colocar en una biblioteca compartida, por lo que ahora esas clases van a un proyecto jar separado al que hace referencia el proyecto web.
En el proyecto web, hice Project-> Properties-> Java Build Path-> Projects-> Add y agregué el proyecto jar. Y esto solucionó correctamente todos los problemas de classpath en tiempo de compilación y todo funciona bien. Pero en el tiempo de ejecución, cuando el servidor tomcat se activa, Spring intenta inyectar algunas de las clases contenidas en el archivo jar y obtengo un NoClassDefFoundError.
Mis archivos .class y de propiedades y los contenidos de mi directorio META-INF se muestran en el directorio ./build, pero mi directorio WEB-INF / lib parece estar referenciado in situ, y la dependencia jar no se copia para que se muestre como parte de la Biblioteca de aplicaciones web.
¿Cuál es el encantamiento mágico para contarle al eclipse que el otro proyecto jar debe estar disponible para tomcat en tiempo de ejecución? Desde nuestro script de compilación ant, primero construimos el otro proyecto en WEB-INF / lib y todo funciona bien, pero no para la depuración de eclipse.
Me di cuenta de esto después de pasar un tiempo allí. Si se encuentra en Eclipse Helios, vaya a properties > deployment assembly > add > project
y seleccione el proyecto dependiente que desea agregar.