maven打包可运行的fat-jar的简单方法
来源:互联网 发布:个国家域名后缀 编辑:程序博客网 时间:2024/05/17 01:23
- 问题
- 方法1
- 方法2
问题
在使用“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中增加如下一段:
<build> <plugins> <plugin> <artifactId>maven-assembly-plugin</artifactId> <version>3.0.0</version> <configuration> <archive> <manifest> <mainClass>practice.spring.sprice.App</mainClass> </manifest> </archive> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> </configuration> <executions> <execution> <id>make-assembly</id> <phase>package</phase> <goals> <goal>single</goal> </goals> </execution> </executions> </plugin> </plugins></build>
这种方法打包出来的.jar中:
1. practice.spring.sprice.App会被作为主类。
2. 包含所依赖的所有jar的内容(这些jar包会被解开)。
方法2
使用spring-boot-maven-plugin来打包fat-jar。
在pom.xml中增加如下一段:
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>1.5.6.RELEASE</version> <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> </plugin> </plugins></build>
这种方法打包出来的.jar中:
1. org.springframework.boot.loader.JarLauncher会被作为主类,它会自动调用应用程序中的main方法。
2. 包含所依赖的所有的jar包(这些jar包不会被解开)
阅读全文
0 0
- maven打包可运行的fat-jar的简单方法
- MAVEN打包可直接运行的jar
- maven打包可运行的JAR
- maven打包可运行的JAR
- 运行由fat jar打包后的jar文件出现警告的处理方法
- maven把项目打包成可运行的jar包
- maven打包可运行jar
- Maven打包可运行jar
- Maven自动生成可运行jar包并将依赖的jar包一起打包
- Maven把所有依赖的jar打包到一个jar中(相当于fat jar)
- 【Maven学习】Maven打包生成普通jar包、可运行jar包、包含所有依赖的jar包
- 【Maven学习】Maven打包生成普通jar包、可运行jar包、包含所有依赖的jar包
- maven项目使用maven-assembly-plugin打包成可运行的jar
- Maven Spring 项目打包成可运行的jar包 (用maven-shade-plugin)
- 可运行的jar包 打包过程
- 打包成可运行的jar包
- Maven 打包可运行Jar
- MAVEN打包可运行jar包
- 《机器学习实战》学习笔记-[7]-利用AdaBoot元提高分类性能
- CSS之解决高度塌陷问题(三)
- 通过匿名内部类创建对象
- SQL数据库建表、表中列的常见类型与一些常用约束的操作
- java异常初解
- maven打包可运行的fat-jar的简单方法
- Vue, App与我(四)
- retrofit 2.0 如何通过 HttpLoggingInterceptor 打印服务器响应的 json ?
- 重发:“设计师的实战过程”下载
- XML文档的语法规则(儿歌)
- POJ 3481 Double Queue(STL之双向优先队列)
- HashTable与HashMap的区别
- Day01 varnish
- CSS之解决高度塌陷问题方法终极版