博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[转] maven打包可运行的fat-jar的简单方法
阅读量:5302 次
发布时间:2019-06-14

本文共 1630 字,大约阅读时间需要 5 分钟。

[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包不会被解开)

 

转载于:https://www.cnblogs.com/pekkle/p/9680769.html

你可能感兴趣的文章
[数据结构与算法]二叉排序(搜索)树实现
查看>>
Query Designer:Hierarchy层级显示
查看>>
SQL SERVER数据库开发之存储过程应用(转载)
查看>>
第十三章----面向对象(综合)
查看>>
条码、QRCode生成组件 zxing 使用范例
查看>>
Python基础(一)
查看>>
设计出色的数据产品
查看>>
Leetcode 377. Combination Sum IV
查看>>
【STL源码剖析读书笔记】自己实现priority_queue之MyPriorityQueue
查看>>
SSH框架总结(框架分析+环境搭建+实例源码下载)
查看>>
java多线程的实现的两种方法
查看>>
Spring Security(07)——缓存UserDetails
查看>>
jsp分页完善版
查看>>
Android开发之修改Manifest中meta-data的数据
查看>>
【清北前紧急补课5】辣鸡奶酪
查看>>
Scala学习笔记——函数式对象
查看>>
linux—上传,下载本地文件到服务器
查看>>
大型网站后台架构的Web Server与缓存
查看>>
一步一步学Silverlight 2系列(21):如何在Silverlight中调用JavaScript
查看>>
python 通过句柄获取窗口内容
查看>>