2010-02-01 14 views
10

Estoy tratando de configurar pruebas de integración para un proyecto Maven que produce un archivo war. (Como se ve aquí http://docs.codehaus.org/display/JETTY/Maven+Jetty+Plugin/.) Sin embargo, el archivo de guerra requiere un montón de archivos .properties en classpath, que no quiero agrupar en la guerra.Agregando classpath a jetty corriendo en maven integration-test

¿Hay alguna manera (preferiblemente a través de la configuración del complemento) de agregar una carpeta al classpath utilizado por el embarcadero?

Busqué en Google esto y encontré http://markmail.org/message/awtqrgxxttra3uxx pero esto, hasta donde puedo decir, en realidad no funciona en absoluto. Los archivos .properties no se encuentran.

Respuesta

21

Esto debería ser posible utilizar el elemento de configuración webAppConfig (ejemplo siguiente tomado de this thread):

<webAppConfig> 
    <contextPath>/nportal</contextPath> 
    <!-- All I want to do here is add in the /etc/jetty/classes for runtime files. For some reason I have to also add back in the /target/classes directory --> 
    <extraClasspath>${basedir}/target/classes/;${basedir}/etc/jetty/classes/</extraClasspath> 
</webAppConfig> 
+0

Otra forma tal vez más marginal es usar ' muelle de una context.xml' 'donde configura embarcadero-context.xml''

16

Si encuentra que la solución anterior no funciona para usted, considere incluir la ruta de clase de prueba en el embarcadero configuración.

<configuration> 
    <useTestClasspath>true</useTestClasspath> 
    ... 
</configuration> 

Esto permitirá que colocar toda clase de recursos/clases en la ruta de clase de prueba y tenerlas siempre visibles al servidor embarcadero sin ellos se introducían en el código de producción.

+13

si los usuarios de la versión 7+ buscan una respuesta , el nuevo nombre de opción es ''. Más en http://wiki.eclipse.org/Jetty/Feature/Jetty_Maven_Plugin#Configuring_additional_parameters – uiron

5

Usted puede colocar sus archivos de configuración adicionales en el marco /src/test/resources y establecer una propiedad <useTestScope>true</useTestScope> en la configuración del complemento como se especifica here:

useTestScope

Si es verdad, las clases de testClassesDirectory y dependencias del ámbito de aplicación de la prueba " "se colocan primero en el classpath. Por defecto esto es falso.

+0

Ah, ya hay un comentario con el mismo enlace ... Voy a dejar el respuesta - es más notable. – Innokenty

+0

No funciona para mí. Jetty inicia la salida de esto: [INFO] --- jetty-maven-plugin: 9.3.7.v20160115: start (start-jetty) @ someapp - - [INFO] Configuración de Jetty para proyecto: Verizon CHC Timer Server [INFO] webAppSourceDirectory no configurado. Probando src/main/webapp [INFO] Recargar Mecánico: automático [INFO] Clases =/Usuarios/mvmn/wrkdir/someapp/target/classes 2016-03-01 15: 27: 55.704: INFO :: principal: Registro inicializado @ 4023ms [INFO] ruta de contexto =/ directorio [INFO] Tmp =/usuarios/mvmn/wrkdir/SomeApp/target/tmp [INFO] defecto web = org/eclipse/embarcadero/webapp/webdefault.xml [ INFO] Anulaciones web = ninguna ... – mvmn

+1

No funciona para mí tampoco. Editar: funciona con la versión> = 7.0.0 – adrianboimvaser

Cuestiones relacionadas