2012-01-09 9 views
5

Tengo una clase Java que se encuentra en src/java que hace referencia a clases desde un JAR externo. Copié el archivo JAR al directorio lib. Cuando voy a ejecutar la aplicación usando grails run-app me sale un error que no puede encontrar la clase importada.No se encontró el archivo Grails JAR en el directorio lib

¿Cuál es la ubicación correcta para poner los JAR para un proyecto de Grails? ¿Hay algún comando especial para que Grails reconozca los archivos JAR recién agregados?

Me postulo Grails 2.0.0 con Java 1.6.0_29 en OS X.

Seguimiento: los frascos son cuestión son de Apache HttpComponents. Más específicamente:

commons-codec-1.4.jar 
commons-logging-1.1.1.jar 
httpclient-4.1.2.jar 
httpclient-cache-4.1.2.jar 
httpcore-4.1.2.jar 
httpmime-4.1.2.jar 

Los archivos de clase en ellos se compilan en Java 1.3, lo que no debería ser un problema.

~/temp/org/apache/http $ file HttpResponse.class 
HttpResponse.class: compiled Java class data, version 47.0 (Java 1.3) 

Respuesta

5

La forma correcta de agregar jar's es agregándolo a su "BuildConfig.groovy". Puede especificar si es necesario en tiempo de compilación, tiempo de ejecución, etc. Por ejemplo:

dependencies {   
     build 'org.apache.httpcomponents:httpcore:4.1.2' 
     build 'org.apache.httpcomponents:httpclient:4.1.2' 
     runtime 'org.apache.httpcomponents:httpcore:4.1.2' 
     runtime 'org.apache.httpcomponents:httpclient:4.1.2' 
} 

Tenga en cuenta, es posible que también tenga que elimine la línea mavenCentral() en su Buildconfig.groovy a fin de que las dependencias para obtener resuelto.

Consulte la sección "Resolución de dependencias" en la sección here.

+0

Comenzando con Grails 2.0.0, mavenCentral() no está comentado por defecto :) – rlovtang

+0

También estoy enfrentando el mismo problema. Aunque puse mi jar en la carpeta project lib no está cargando en absoluto :-(¿Qué pasa si quiero agregar mi propio jar necesita ser agregado que no está en maven central? –

+0

Después de un par de horas de lucha con esto (en menos), su respuesta y especialmente el enlace a los documentos me salvó. +1, ¡gracias! – Madbreaks

13

Muy extraño, me encontré grails clean y luego grails run-app y compilado y funcionó muy bien.

+0

Yo también hice lo mismo y está funcionando bien ahora. –

+0

Todavía tengo el problema ... usando grails 2.0.3 – Philippe

+0

¿ha agregado el jar a la ruta de compilación? –

6

Al agregar o quitar archivos jar en lib necesita ejecutar

grails compile --refresh-dependencies 

el fin de obtener Griales a notar los cambios.

+0

Gracias. Es complicado :) –

Cuestiones relacionadas