Ho due guerre che uso in due progetti di maven usando il plugin tomcat. Voglio farlo in un solo passaggio ed essere in grado di distribuire più di una guerra in un singolo progetto Maven. Come posso fare questo? eventuali suggerimenti?Come posso distribuire più guerre usando il plugin tomcat in Maven?
risposta
Non sono in grado di testare questo, ma ci sono due approcci che riesco a pensare. O può funzionare per te.
Opzione 1:
In uno dei progetti è possibile definire la configurazione per il plugin Tomcat. Nello snippet qui sotto ci sono due esecuzioni definite, entrambe legate alla fase di preintegrazione (questa potrebbe non essere la fase migliore per farlo, ma sembra un buon punto di partenza dato che la guerra sarà stata confezionata). Ogni esecuzione distribuirà la guerra definita nella proprietà warFile della sua configurazione.
<project>
...
<build>
...
<plugins>
...
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>tomcat-maven-plugin</artifactId>
<version>1.0-beta-1</version>
<executions>
<execution>
<id>deploy1</id>
<phase>pre-integration-test</phase>
<configuration>
<warFile>path/to/my/warFile1.war</warFile>
</configuration>
<goals>
<goal>deploy</goal>
</goals>
</execution>
<execution>
<id>deploy2</id>
<phase>pre-integration-test</phase>
<configuration>
<warFile>path/to/my/warFile2.war</warFile>
</configuration>
<goals>
<goal>deploy</goal>
</goals>
</execution>
</executions>
</plugin>
...
</plugins>
...
</build>
...
</project>
Opzione 2: Questo è probabilmente l'approccio migliore. Definisci un'esecuzione in ogni guerra (puoi omettere l'elemento warFile in quanto può essere usato di default). È quindi possibile definire un terzo progetto con una dichiarazione di moduli che fa riferimento a ciascun progetto di guerra. Quando viene costruito il genitore, entrambe le guerre saranno costruite e le guerre schierate.
La dichiarazione moduli per il terzo progetto:
<modules>
<module>relative/path/to/war1</module>
<module>relative/path/to/war2</module>
<modules>
E la configurazione per ogni progetto di guerra:
<project>
...
<build>
...
<plugins>
...
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>tomcat-maven-plugin</artifactId>
<version>1.0-beta-1</version>
<executions>
<execution>
<id>deploy</id>
<phase>pre-integration-test</phase>
<goals>
<goal>deploy</goal>
</goals>
</execution>
</executions>
</plugin>
...
</plugins>
...
</build>
...
</project>
Maven ha alcune proprietà che è possibile utilizzare per evitare percorsi assoluti.
${maven.repo.local} will resolve to the local repository
${project.basedir} is the project directory (the root of the project)
${project.build.directory} is the build directory (default is "target")
${project.build.outputDirectory} is the directory where compilation output goes (default is "target/classes")
è possibile creare una "war super" e distribuirlo, così
- 1. Come distribuire WAR con Maven su Tomcat?
- 2. plugin maven tomcat o plugin cargo?
- 3. Come distribuire Kibana4 in tomcat?
- 4. Come configurare la registrazione per un Embedded Tomcat dal plugin Maven 'tomcat7-maven-plugin'
- 5. GAE Maven come distribuire
- 6. Distribuire file XSD su più Artefatti Maven
- 7. Argomento Maven-pass da utilizzare in exec-maven-plugin
- 8. Come posso creare e distribuire un EJB remoto con Maven?
- 9. distribuire il file di guerra nel server tomcat
- 10. Distribuire a weblogic usando maven e jenkins
- 11. Tomcat - Plugin per Maven: esegue webapps ma non progetto corrente
- 12. Da Eclipse, come posso eseguire il mio progetto Maven in Tomcat?
- 13. Distribuire un war to tomcat
- 14. Vantaggi/Svantaggi delle guerre esplose
- 15. Uso di maven-bundle-plugin con il plugin maven-shade
- 16. Come distribuire un'applicazione Spring Integration in Tomcat?
- 17. Come unire le guerre in una?
- 18. Distribuire l'app AngularJS su tomcat
- 19. Come distribuire webapp esterna in tomcat?
- 20. Maven non esegue test di integrazione usando il plugin failsafe
- 21. Come distribuire il file .war sul server JBoss AS 7 usando Maven?
- 22. Come distribuire solo i sub-moduli usando maven deploy?
- 23. Tomcat Maven plug-in e progetti Maven multi-modulo
- 24. Posso modificare la fase di distribuzione di Maven per sostituire il plugin maven-deploy-plug con il mio plugin?
- 25. Come posso risolvere "errore: riferimento simbolico errato" per dipendenze usando il plugin maven-scala?
- 26. Come utilizzare Tomcat con Maven correttamente in Eclipse
- 27. maven-compiler-plugin esclude
- 28. Maven tomcat7-maven-plugin non trovato errore
- 29. Configurazione SSL sul plug-in Maven Tomcat
- 30. SoapUI Plugin Maven - esecuzione di più progetti
ehi, vi ringrazio molto per il suggerimento. Ho avuto una domanda successiva. nel pom invece di dare un percorso assoluto al file war esiste un modo in cui il file war può essere prelevato dal repository locale o dal percorso del repository remoto. – nagl
Ho aggiunto alcune proprietà alla risposta, è possibile specificare un percorso relativo utilizzando $ {property}/path/to/reference –