2010-11-23 17 views
6

Estoy usando Eclipse Helios y me preguntaba cómo puedo agregar un proyecto de biblioteca a mi carpeta que se copiará en el directorio de compilación donde reside mi proyecto compilado.eclipse helios: proyecto tomcat - jar no se exportará ni se publicará. runtime ClassNotFoundExceptions puede dar como resultado

momento hice lo siguiente:

  1. creado un directorio lib en la raíz de mi proyecto
  2. copiar los frascos correspondientes a ese directorio
  3. Mi Proyecto -> propiedades -> Java Build Path - > agregue frascos y agregué todos los frascos de ese directorio.

después de añadir todos los frascos que me dieron la siguiente advertencia con respecto a cada uno de los archivos jar:

jar will not be exported or published. runtime ClassNotFoundExceptions may result 

en primer lugar, ¿cómo puedo agregar el directorio de las jarras en lugar de frascos individuales? y la segunda pregunta es ¿cómo puedo hacer para que las bibliotecas se desplieguen correctamente al compilar mi aplicación?

Respuesta

5

Puede ser sobre: ​​

se puede cambiar a la vista del navegador, haga clic en Actualizar el proyecto, asegúrese de que no está en la LIB dir ,
Luego intente y arrastre y suelte el archivo JAR en el directorio lib y vea si aparece.

Cuando usted tiene el control total de que el contenedor web/servidor de aplicaciones, el despliegue de archivos JAR es tan fácil como soltando la carpeta en su carpeta de lib común.
Si no empaqueta sus aplicaciones web como un archivo war, es aún más fácil porque solo tiene que soltar las jarras en la carpeta WEB-INF/lib de su aplicación web.
Pero si no tiene el control total de su servidor web o servidor de aplicaciones, su única opción es empaquetar los archivos jar que ha utilizado con su archivo war.

Al desarrollar un proyecto web utilizando mi utilidad recientemente desarrollada (un archivo jar), encontré un error NoClassDefFound. Por supuesto, es bastante obvio que no se pudo encontrar el archivo jar que hice y usé en mi proyecto web (no visible en el CLASSPATH).
Agregar el jar a la ruta de compilación solo eliminó el problema de compilación. Arrastrar el archivo jar a la carpeta lib de mi área de trabajo Eclipse no es una buena idea.
Me tomó un par de horas antes de que me di cuenta de la solución:

  1. Haga clic derecho en su proyecto web
  2. Haga clic en Propiedades
  3. Seleccione J2EE del módulo Dependencias
  4. Haga clic en la Web Bibliotecas Tab
  5. Agregue jarras externas (si el jar está fuera de su proyecto). Se agregará una entrada bajo Jar/Module, asegúrese de hacer clic en la casilla de verificación (marcada).

Y todo debería estar bien. Traté de exportar a un archivo war y luego verifiqué el contenido y mis archivos jar se desplegaron con la guerra.

  • un problema de configuración del proyecto

El PO ufk menciona en el comentario:

resolví el problema:

  • la adición de un "Web App Biblioteca "biblioteca en" ruta de creación de Java " y
  • sumando todos los frascos pertinentes en WebContent/WEB-INF/lib
+0

Si ufk copió los archivos jar a través del explorador de archivos (nautilus, Windows Explorer), entonces el problema de actualización del archivo es el correcto. Seleccionar el proyecto en Eclipse y presionar F5 debería hacer. – Alfabravo

+0

muchas gracias. Resolví el problema agregando una biblioteca de "Bibliotecas de aplicaciones web" en "ruta de compilación de Java" y agregando todos los archivos hars relevantes a WebContent/WEB-INF/lib – ufk

+0

@ufk: gracias por sus comentarios. Lo he incluido en mi respuesta. – VonC

8

en Eclipse Junu:

en un proyecto web, después de añadir frasco para construir camino, hay que añadirlo a

Deployment Assembly 

(en propiedades de proyecto)

al añadir ese frasco para presionar el botón añadir "Asamblea de despliegue" y seleccione

Java Build Path Entry 

(y no otra opción espacio de trabajo o sistema de archivos)

+0

Esto realmente me ayuda mucho, gracias :) – isaacselement

0

que estaba enfrentando el mismo problema, al igual que cada vez que la exportación mi aplicación web como un archivo de guerra, los archivos jar externos agregados no se incluyeron en el directorio de la aplicación/libración, causando excepciones durante la implementación.

debe de cambiar la vista del navegador, haga clic en Actualizar el proyecto, asegúrese de que no está en el directorio LIB (pero en la carpeta del proyecto)

luego tratar de arrastrar y soltar el archivo JAR en el directorio lib y ver si aparece.

Cuestiones relacionadas