把引用项/依赖包打包到运行的jar文件中
mvn package命令只能用于没有引用项/依赖包的打包。
如果有引用项/依赖包并打包到运行jar文件中,需要使用额外的插件。
有2个可选插件:
maven-assembly-plugin
maven-shade-plugin
下面使用的是maven-assembly-plugin插件:
在pom.xml中加入以下内容:
<build> <plugins> <plugin> <artifactId>maven-assembly-pluginartifactId> <configuration> <descriptorRefs> <descriptorRef>jar-with-dependenciesdescriptorRef> descriptorRefs> <archive> <manifest> <mainClass>这里填写主类名,例如com.clotho.util.CalculatemainClass> 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)