tutorial que proyecto pom instalar español desde dependencias crear consola comandos java-ee maven-2

java ee - que - ¿Cómo configurar el plugin de colores Maven en un proyecto de varios módulos?



pom.xml que es (1)

No se supone que MainModule produzca un archivo jar. Solo puede producir ... archivos pom. Contiene la configuración compartida en todos los módulos secundarios. Esta es la razón por la cual se llama el plugin de sombra contra cada módulo.

En cambio, crea un tercer módulo. Vamos a llamarlo FinalModule . Este módulo es hijo de MainModule . Mueva todo el nodo <build> desde MainModule pom.xml a FinalModule pom.xml.

Estructura del archivo:

MainModule -FinalModule -src -pom.xml -Module1 -src -pom.xml -Module2 -src -pom.xml -pom.xml

El FinalModule pom.xml ve así:

FinalModule (pom.xml)

<parent> <groupId>com.plugintest</groupId> <artifactId>MainModule</artifactId> <version>1.0-SNAPSHOT</version> </parent> <artifactId>FinalModule</artifactId> <dependencies> <dependency> <groupId>com.plugintest</groupId> <artifactId>Module1</artifactId> <version>1.0-SNAPSHOT</version> </dependency> <dependency> <groupId>com.plugintest</groupId> <artifactId>Module2</artifactId> <version>1.0-SNAPSHOT</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>2.2</version> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> </execution> </executions> </plugin> </plugins> </build>

Al final, deberías obtener algo como esto:

[INFO] [INFO] --- maven-jar-plugin:2.3.2:jar (default-jar) @ FinalModule --- [INFO] Building jar: D:/workspaces/java/Parent/FinalModule/target/FinalModule-1.0-SNAPSHOT.jar [INFO] [INFO] --- maven-shade-plugin:2.2:shade (default) @ FinalModule --- [INFO] Including my:Module1:jar:1.0-SNAPSHOT in the shaded jar. [INFO] Including my:Module2:jar:1.0-SNAPSHOT in the shaded jar. [INFO] Replacing original artifact with shaded artifact. [INFO] Replacing D:/workspaces/java/Parent/FinalModule/target/FinalModule-1.0-SNAPSHOT.jar with D:/workspaces/java/Parent/FinalModule/target/FinalModule-1.0-SNAPSHOT-shaded.jar [INFO] Dependency-reduced POM written at: D:/workspaces/java/Parent/FinalModule/dependency-reduced-pom.xml [INFO] ------------------------------------------------------------------------ [INFO] Reactor Summary: [INFO] [INFO] Parent ............................................ SUCCESS [0.016s] [INFO] Module1 ........................................... SUCCESS [1.654s] [INFO] Module2 ........................................... SUCCESS [0.343s] [INFO] FinalModule ....................................... SUCCESS [0.953s] [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------

¡todo el mundo! He estado tratando de obtener un jarrón usando Maven Shade Plugin, pero todavía no tengo éxito :(

Esa es mi estructura de proyecto:

MainModule -Module1 -src -pom.xml -Module2 -src -pom.xml -pom.xml

Module1 (pom.xml):

<parent> <artifactId>MainModule</artifactId> <groupId>com.plugintest</groupId> <version>1.0-SNAPSHOT</version> </parent> <modelVersion>4.0.0</modelVersion> <artifactId>Module1</artifactId>

Module2 (pom.xml):

<parent> <artifactId>MainModule</artifactId> <groupId>com.plugintest</groupId> <version>1.0-SNAPSHOT</version> </parent> <modelVersion>4.0.0</modelVersion> <artifactId>Module1</artifactId>

MainModule (pom.xml):

<groupId>com.plugintest</groupId> <artifactId>MainModule</artifactId> <packaging>pom</packaging> <version>1.0-SNAPSHOT</version> <modules> <module>Module1</module> <module>Module2</module> </modules> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>2.2</version> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> </execution> </executions> </plugin> </plugins> </build>

Según este código, obtengo 2 archivos jar (Module1-version.jar y Module2-version.jar). Pero no es lo que quiero. Deseo obtener 1 archivo jar (MainModule-version.jar), que contendría el otro (Module1 y Module2).

Por favor, dime, ¿por qué no funciona este plugin de Shade?