gradle打包java项目_gradle打包java项目

转载地址:http://www.gfzj.us/series/gradle/2014/12/12/gradle%E5%B0%8F%E7%B3%BB%E5%88%97(4)--gradle%E6%89%93%E5%8C%85java%E9%A1%B9%E7%9B%AE.html

以gradle小系列所举例子为示例,在此处介绍两种gradle发布java项目的方法:

fat jar方式

该种方法将工程所依赖的jar包等资源都会打到一个可执行jar包中,生成的jar包很大。

在GradleTest项目中,我们对SubPro1进行打包,所以需要修改SubPro1下的build.gradle文件:

jar {

from {

configurations.compile.collect { it.isDirectory() ? it : zipTree(it) }

}

manifest {

attributes 'Main-Class': 'hello.HelloWorld'

}

}

dependencies {

compile project(":SubPro2")

}

上述配置添加了jar task,from是对SubPro1的依赖进行打包,manifest 则生成对main的配置信息,即包hello下的HelloWorld.java是工程入口

在项目GradleTest的根目录下执行命令gradle build,即可生成jar包

使用gradle的application插件

fat jar并不总是一个合适的选择,比如需要依赖跟jar分离、软件能在*nix和windows下都有启动的script等。 那么使用gradle的application插件就可以做到了。

在GradleTest项目中,我们对SubPro1的build.gradle进行如下修改:删除jar task;添加application插件; 配置main class(设置mainClassName的值即可)。修改结果如下:

apply plugin: 'application'

mainClassName = 'hello.HelloWorld'

dependencies {

compile project(":SubPro2")

}

Application插件提供5个tasks实现项目的发布,分别是

run、startScript、installApp、distZip、distTar

假设使用distZip,在GradleTest目录下运行命令gradle distZip,在SubPro1的build/distributions中,可以看到zip文件,其中包含了bin和lib文件夹,bin下有软件启动脚本,lib则是软件jar包和其所有依赖。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值