我知道我可以通过创建2个模块来实现它,但是只是想知道是否可以在一个模块中完成它?谢谢
答案 0 :(得分:2)
Maven Shade插件,如果您运行shade
目标,则默认情况下将产生两个JAR:
your-artifact.jar
-Uber-JAR和original-your-artifact.jar
-原始的非Uber-JAR。 或者,您可以使用outputFile
配置选项为Uber-JAR指定一个不同的名称(请参见下文)。
在这种情况下,您的“常规” JAR将具有“常规”名称。
<plugin>
<artifactId>maven-shade-plugin</artifactId>
<version>3.1.1</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
<configuration>
<outputFile>${project.build.directory}/uberjar-name.jar</outputFile>
</configuration>
</plugin>
使用此配置,结果将是:
your-artifact.jar
-原始的非Uber-JAR,和uberjar-name.jar
-Uber-JAR。