gradle打包java项目_gradle打包java项目
轉(zhuǎn)載地址: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發(fā)布java項(xiàng)目的方法:
fat jar方式
該種方法將工程所依賴(lài)的jar包等資源都會(huì)打到一個(gè)可執(zhí)行jar包中,生成的jar包很大。
在GradleTest項(xiàng)目中,我們對(duì)SubPro1進(jìn)行打包,所以需要修改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是對(duì)SubPro1的依賴(lài)進(jìn)行打包,manifest 則生成對(duì)main的配置信息,即包hello下的HelloWorld.java是工程入口
在項(xiàng)目GradleTest的根目錄下執(zhí)行命令gradle build,即可生成jar包
使用gradle的application插件
fat jar并不總是一個(gè)合適的選擇,比如需要依賴(lài)跟jar分離、軟件能在*nix和windows下都有啟動(dòng)的script等。 那么使用gradle的application插件就可以做到了。
在GradleTest項(xiàng)目中,我們對(duì)SubPro1的build.gradle進(jìn)行如下修改:刪除jar task;添加application插件; 配置main class(設(shè)置mainClassName的值即可)。修改結(jié)果如下:
apply plugin: 'application'
mainClassName = 'hello.HelloWorld'
dependencies {
compile project(":SubPro2")
}
Application插件提供5個(gè)tasks實(shí)現(xiàn)項(xiàng)目的發(fā)布,分別是
run、startScript、installApp、distZip、distTar
假設(shè)使用distZip,在GradleTest目錄下運(yùn)行命令gradle distZip,在SubPro1的build/distributions中,可以看到zip文件,其中包含了bin和lib文件夾,bin下有軟件啟動(dòng)腳本,lib則是軟件jar包和其所有依賴(lài)。
總結(jié)
以上是生活随笔為你收集整理的gradle打包java项目_gradle打包java项目的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 二分之一美少年剧情介绍
- 下一篇: h2投影仪可以安装pop播放器