作者:順俟自嘫 | 来源:互联网 | 2023-09-25 14:55
篇首语:本文由编程笔记#小编为大家整理,主要介绍了[转]maven打包可运行的fat-jar的简单方法相关的知识,希望对你有一定的参考价值。[From] ht
篇首语:本文由编程笔记#小编为大家整理,主要介绍了[转] maven打包可运行的fat-jar的简单方法相关的知识,希望对你有一定的参考价值。
[From] https://blog.csdn.net/tearsky253/article/details/75948721
问题
在使用“mvn package”命令编译application之后,生成的.jar文件不能直接被“java -jar”命令运行,一般都是因为:
1. Manifest中没有主清单属性。
2. 依赖项在.jar文件中不存在。
这两个问题可以通过在pom.xml中增加build plugin来解决。
方法1
使用maven-assembly-plugin来打包fat-jar。
假设我们的application的Main Class是practice.spring.sprice.App,那么我们需要在pom.xml中增加如下一段:
maven-assembly-plugin
3.0.0
practice.spring.sprice.App
jar-with-dependencies
make-assembly
package
single
这种方法打包出来的.jar中:
1. practice.spring.sprice.App会被作为主类。
2. 包含所依赖的所有jar的内容(这些jar包会被解开)。
方法2
使用spring-boot-maven-plugin来打包fat-jar。
在pom.xml中增加如下一段:
org.springframework.boot
spring-boot-maven-plugin
1.5.6.RELEASE
repackage
这种方法打包出来的.jar中:
1. org.springframework.boot.loader.JarLauncher会被作为主类,它会自动调用应用程序中的main方法。
2. 包含所依赖的所有的jar包(这些jar包不会被解开)