java assembly 打包_maven-assembly-plugin把java工程打包成为一个可执行的jar包

用java写了一个小工具,使用maven java 工程。写完后,想打包成一个可执行的jar包,使用如下方法:

1、使用maven的插件maven-assembly-plugin

pom.xml里添加

maven-assembly-plugin

org.kuan.wang.App

jar-with-dependencies

执行命令:

mvn clean compile assembly:single

在target文件夹里生成MavenTestApp-1.0-SNAPSHOT-jar-with-dependencies.jar,这个jar包便是可执行的jar了,用命令java -jar path\jarfile便可以执行。

注意:compile必须再assembly:single之前,要不然你工程的代码(class文件)就不会被打包进去。assembly:single是maven的goal。

2、通常情况下,这个goal要绑定到maven build 的phase里,这样它就可以自动执行。mvn package是用来打包jar包的,只是jar包是不可执行(因为不包括其他依赖)。

我们在以上的pom文件里加,来将所有依赖也打包进去就可以执行了。

maven-assembly-plugin

org.kuan.wang.App

jar-with-dependencies

make-assembly

package

single

如此,就直接运行以下命令即可。

mvn clean package

3、另外有几点要注意:

1. 必须要有

org.kuan.wang.App

否则会报错 :no main manifest attribute, in target\MavenTestApp-1.0-SNAPSHOT-jar-with-dependencies.jar是你自己工程的入口。

2. 使用mvn clean compile assembly:single,只生成一个jar包,其名字里有jar-with-dependencies,是可以直接执行的。

使用mvn package生成两个jar包,名字里有jar-with-dependencies的jar是可执行的。

3. 如果使用assembly 会生成两个jar包。跟使用了mvn package一样,无需再像命令assembly:single一样前面必须加compile.

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值