mvn package只能用于没有依赖项的打包。如果有依赖项并打包到一个jar文件中,需要使用额外的插件。
有2个可选插件:
maven-assembly-plugin maven-shade-plugin
下面使用的是maven-assembly-plugin插件:
在pom.xml中加入以下内容:
<build> <plugins> <plugin> <artifactId>maven-assembly-plugin</artifactId> <configuration> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> <archive> <manifest> <mainClass>这里填写主类名,例如com.clotho.util.Calculate</mainClass> </manifest> </archive> </configuration> </plugin> </plugins> </build>
保存后,刷新Maven。
在命令行中输入:
mvn assembly:assembly
程序会自动把引用包也一起打包到jar文件中
如果使用的是IDEA,提示“Maven plugins can not be found”,可按以下步骤解决:
File -> Setting -> Build, Execution, Deployment -> Build Tools -> Maven -> 勾选Use plugin registry选项
然后,
File -> Invalidate Caches -> Invalidate and Restart(重启IDEA)