2011-08-19 6 views
6

Tengo un proyecto Maven2 con dos submódulos, dispuestas como esto:Adición de un applet en un submódulo a un archivo WAR en Maven

parentproject 
|---war-file-project 
|---applet-project 

Los POM en cada uno de ellos tienen los padres-módulo apropiado relaciones. El applet-project contiene un applet simple y está configurado con un paquete JAR. El war-file-project contiene un proyecto de archivo WAR simple y está configurado con el empaquetado WAR.

Cuando construyo, me gustaría asegurarse de que el archivo WAR contiene el archivo JAR resultante de la applet-project en el directorio /applets.

¿Cómo puedo hacer esto?

Respuesta

7

Para lograr que sólo tiene que utilizar el experto-dependencia-plugin para copiar la dependencia a un lugar adecuado.

Creado un complete example que puede utilizar como plantilla.

0

Debe definir una dependencia en el proyecto war para su applet-project.

<dependency> 
    <groupId>${project.groupId}</groupId> 
    <artifactId>applet-project</artifactId> 
    <version>${project.version}</version> 
</dependency> 
+0

Aparecerá el archivo JAR para mi applet en WEB-INF/lib, que no es lo que quiero. Me gustaría que esté en la raíz del archivo WAR para que el usuario pueda descargarlo y ejecutarlo en su navegador. – Jonathan

2

¡Gracias khmarbaise por una excelente plantilla!

También he encontrado que uno podría desear ajustar con los siguientes cambios:

  • <scope>provided</scope> añadir a la dependencia 'suplementario' en la guerra/pom.xml - entonces supplemental.jar no se duplicará al/WEB-INF/lib
  • añadir <stripVersion>true</stripVersion> a la configuración de ejemplo experta en dependencia-plugin - entonces applet estar en 'supplemental.jar' en lugar de algo así como 'supplemenal-0.1.0-SNAPSHOT.jar' cambio
  • ${project.artifactId}-${project.version} en <outputDirectory> a una más confiable ${project.build.finalName}
Cuestiones relacionadas