您
MainModule不应该产生一个jar文件。它只能产生… pom文件。它包含所有子模块共享的配置。这就是为什么针对每个模块调用阴影插件的原因。
而是,创建第三个模块。叫它
FinalModule。此模块是的子级
MainModule。将整个
<build>节点从
MainModulepom.xml移到
FinalModulepom.xml。
文件结构:
主模块 -最终模块 -src -pom.xml -模块1 -src -pom.xml -模块2 -src -pom.xml -pom.xml
该
FinalModule
pom.xml如下所示:
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>
最后,您应该获得如下内容:
[INFO] [INFO] --- maven-jar-plugin:2.3.2:jar (default-jar) @ FinalModule ---[INFO] Building jar: D:workspacesjavaParentFinalModuletargetFinalModule-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:workspacesjavaParentFinalModuletargetFinalModule-1.0-SNAPSHOT.jar with D:workspacesjavaParentFinalModuletargetFinalModule-1.0-SNAPSHOT-shaded.jar[INFO] Dependency-reduced POM written at: D:workspacesjavaParentFinalModuledependency-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] ------------------------------------------------------------------------



