Estoy tratando de dividir un proyecto Maven WAR en dos módulos, de modo que pueda construir un archivo JAR separado con herramientas de línea de comandos. El resultado tiene la siguiente estructura:proyecto y embarcadero de múltiples módulos Maven: ejecutar
pom.xml
(embalajepom
, tiene dos módulos)project-jar/
pom.xml
(embalajejar
)
project-war/
pom.xml
(envaseswar
, depende deproject-jar
)
Si me quedo mvn
comandos desde la raíz, todo funciona bien. Me gustaría seguir usando mvn jetty:run
, pero para eso necesito ejecutar el comando en el subproyecto WAR. Si lo hago, no puedo encontrar el subproyecto project-jar
, por lo que no se ejecutará. Incluso mvn jetty:run-war
con un archivo WAR completamente ensamblado en el directorio target
falla, porque primero intenta "construir" el proyecto. Solo he logrado hacer que funcione instalando project-jar
en el repositorio local de Maven, lo cual no es muy agradable.
¿Hay alguna manera de utilizar el plugin Jetty en una configuración Maven de varios módulos?
Hm, esto no realmente me ayude, porque falla con un error BUILD "Falló la resolución del artefacto". (el proyecto hermano JAR) antes de que se ejecute el plugin Jetty. Entonces parece que necesito una solución general para Maven en primer lugar. :( –
@ Lukáš Maven usa el repositorio local para resolver dependencias, por lo que ** debe ** instalarse (es decir, primero debe "instalar" todos los módulos ejecutando una generación de reactor en el elemento primario al menos una vez). trabajo, incluso si los JAR instalados están "desactualizados". –
Ah, esperaba evitar eso. Una alternativa que descubrí fue establecer el plugin jetty en el padre y apuntarlo al archivo war correcto (y luego usar embarcadero: ejecutar -war), pero probablemente necesite ejecutar la instalación de todos modos para que NetBeans sea feliz. –