最简单的方法是使用
maven-assembly-plugin和预定义
jar-with-dependencies描述符创建一个程序集。您还需要为此uber jar生成带有主类条目的清单。下面的代码片段显示了如何配置Assembly插件:
<build> <plugins> <plugin> <artifactId>maven-assembly-plugin</artifactId> <configuration> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> <archive> <manifest> <mainClass>fully.qualified.MainClass</mainClass> </manifest> </archive> </configuration> </plugin> </plugins></build>
然后,生成程序集,只需运行:
mvn assembly:assembly
如果要在构建过程中生成程序集,只需将
assembly:singlemojo 绑定到打包阶段即可:
<build> <plugins> <plugin> <artifactId>maven-assembly-plugin</artifactId> <configuration> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> <archive> <manifest> <mainClass>fully.qualified.MainClass</mainClass> </manifest> </archive> </configuration> <executions> <execution> <phase>package</phase> <goals> <goal>single</goal> </goals> </execution> </executions> </plugin> </plugins></build>
只需运行:
mvn package



