2011-08-19 14 views
6

Ho un progetto di Maven2 con due moduli, disposti in questo modo:L'aggiunta di un applet in un modulo a un file WAR in Maven

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

Le POM in ciascuno di essi hanno il genitore-modulo appropriato relazioni. Lo applet-project contiene una semplice applet ed è configurato con la confezione JAR. Lo war-file-project contiene un semplice progetto di file WAR ed è configurato con la confezione di WAR.

Quando creo, mi piacerebbe essere sicuro che il file WAR contenga il file JAR risultante dallo applet-project nella directory /applets.

Come posso fare?

risposta

7

Per ottenere che si può semplicemente utilizzare l'esperto di dipendenza-plugin per copiare la dipendenza in un luogo adeguato.

Creato a complete example che è possibile utilizzare come modello.

0

È necessario definire una dipendenza nel progetto-guerra nel progetto applet.

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

Quello apparirà per mettere il file JAR per la mia applet in WEB-INF/lib, che non è quello che voglio. Mi piacerebbe nella radice del file WAR in modo che possa essere scaricato dall'utente ed eseguito nel suo browser. – Jonathan

2

Grazie khmarbaise per un modello eccellente!

Ho anche trovato uno potrebbe voler regolare con le seguenti modifiche:

  • aggiungere <scope>provided</scope> alla dipendenza 'supplementare' in guerra/pom.xml - allora supplemental.jar non saranno duplicate/WEB-INF/lib
  • aggiungere <stripVersion>true</stripVersion> alla configurazione esempio Maven-dipendenza-plugin - allora applet sarà in 'supplemental.jar' invece di qualcosa come 'supplemenal-0.1.0-SNAPSHOT.jar'
  • cambiamento ${project.artifactId}-${project.version} in <outputDirectory> a un più affidabile ${project.build.finalName}
Problemi correlati