2012-06-18 18 views
6

Tengo un problema al proporcionar algunas bibliotecas de terceros (archivos JAR) que estoy utilizando al implementar mi aplicación web dinámica con Tomcat 6 y Eclipse.Despliegue de aplicación web de Eclipse con Tomcat: ¿Proporciona dependencias de proyectos múltiples?

Tenga en cuenta que -o se cómo hacer esto en una configuración, donde el proyecto de aplicación web -directamente- depende de esos JAR.

Sin embargo, en mi configuración, tengo dos proyectos de Eclipse:

  • núcleo es una biblioteca de clases y depende de, digamos, a.jar.
  • web es la aplicación web y depende de core.

En la configuración del proyecto de web, en el categoría Asamblea de despliegue, he añadido núcleo, por lo que Eclipse (o Tomcat - No estoy muy seguro de que el actor responsable aquí es) es poniendo core.jar en el directorio libs de mi aplicación web.

El problema es: Cuando intento a cabo la aplicación web, un NoClassDefFoundError se inicia cuando núcleo accede a clases de a.jar. ¿Qué se supone que debo hacer al respecto? No creo que poner a.jar en la Asamblea de implementación de la página configuración de mi aplicación web es la solución correcta, ya que debe ser de ninguna relevancia para el proyecto web, lo que el proyecto núcleo depende.

Básicamente, estoy buscando una manera de configurar Eclipse (Tomcat?) A 'Insertar' las dependencias de núcleo en core.jar. El problema es que core.jar se genera automáticamente cuando despliegue mi proyecto web.

La ayuda es muy apreciada. ¡Gracias de antemano!

Respuesta

8

Bueno, he encontrado la respuesta por mi cuenta mientras tanto.

Para aquellos que leen esto en el futuro voy a explicar paso a paso, utilizando la semántica que introduje en my original message:

En primer lugar, abra la página de propiedades de su proyecto núcleo y vaya a la pestaña 'Bibliotecas' de los ajustes '' vía de construcción Java:

enter image description here

Asegúrese de añadir la biblioteca de clases a.jar, su núcleo proyecto depende, a través de 'Ad d JAR ... '. Luego, vaya a la pestaña 'Ordenar y Exportar' y active el recién agregado a.jar para exportar.

enter image description here

y luego ir a la configuración de la 'Asamblea de despliegue' y también añadir a.jar aquí haciendo primero clic en 'Añadir ...', luego en 'Vía de construcción Java entradas' y finalmente seleccionar a.jar. Asegúrese de introducir '../' como el camino para el despliegue a.jar:

enter image description here

Ahora que haya terminado con su proyecto núcleo. Ahora abre la página 'Proyectos' de la configuración de la 'Vía de construcción Java' para su proyecto web y añadir su proyecto núcleo haciendo clic en 'Añadir ...':

enter image description here

Por último, navegar a página de configuración de la 'Asamblea de despliegue', pulse 'Agregar ...' y luego tome 'proyecto' y seleccione su proyecto núcleo en la siguiente pantalla:

enter image description here

Has terminado. No es necesario agregar las dependencias core a su proyecto web.

0

Por lo que yo sé, eclipse no lo hace por ti. Las dependencias del proyecto son para el tiempo de compilación. Las dependencias de tiempo de ejecución que abarcan todos los proyectos deben ser manejadas por usted. Un truco que puede usar para crear bibliotecas de usuario. Vaya a Preferencias -> Java -> Ruta de compilación -> Bibliotecas de usuario. Crea una nueva biblioteca de usuario. Agregue todas las jarras de las que depende su proyecto "central". Añádalo como una dependencia de los proyectos 'núcleo' y 'web'. Para hacer eso ,, haga clic derecho sobre el proyecto -> Build Path -> Configurar construir ruta -> pestaña Bibliotecas -> Add Library ...

Esperanza esto ayuda

0

sugiere emplear Maven el que se compila automáticamente el jar los archivos para usted y Eclipse también funcionan muy bien con Maven.

Cuestiones relacionadas