gradle 打war 包以及合并jar包
生活随笔
收集整理的這篇文章主要介紹了
gradle 打war 包以及合并jar包
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
build.gradle文件
apply plugin: 'war' webAppDirName = 'WebRoot' //設置 WebApp 根目錄 version = '' buildDir = 'target' //war 輸出路徑 sourceCompatibility='1.6' //設置jdk 版本 war{ baseName ="PCMS" //war名稱 } //定義目錄結構 sourceSets { main { java { srcDirs = ['src/cmes/java'] } resources { srcDirs = ['src/cmes/resources','src/plat/resources'] } } } // 設置 maven 庫地址 repositories { maven { url 'http://maven.oschina.net/content/groups/public/' } } //加載本地依賴 dependencies { providedCompile fileTree(dir: System.getenv("CATALINA_HOME")+'/lib', include: '*.jar') providedCompile fileTree(dir: 'WebRoot/WEB-INF/lib', include: '*.jar') //依賴的jar cargo.jarcargo('org.codehaus.cargo:cargo-ant:1.3.1') {exclude group: 'xml-apis', module: 'xml-apis'}cargo 'xml-apis:xml-apis:2.0.2' } //設置編碼 tasks.withType(Compile) { options.encoding = "UTF-8" }?
gradle.properties 設置
?
//支持中文文件 systemProp.file.encoding=UTF-8gradle 依賴管理:
//聲明外部屬性ext.cargoGroup = 'org.codehaus.cargo'ext.cargoVersion = '1.3.1'dependencies {//使用映射聲明依賴compile group: cargoGroup, name: 'cargo-core-uberjar',version: cargoVersion//用快捷方式來聲明,引用了前面定義的外部屬性cargo "$cargoGroup:cargo-ant:$cargoVersion"}排除傳遞依賴
dependencies {cargo('org.codehaus.cargo:cargo-ant:1.3.1') {exclude group: 'xml-apis', module: 'xml-apis'}cargo 'xml-apis:xml-apis:2.0.2'}exclude屬性值和正常的依賴聲明不太一樣,你只需要聲明group和(或)module,Gradle不允許你只排除指定版本的依賴。
有時候倉庫中找不到項目依賴的傳遞依賴,這會導致構建失敗,Gradle允許你使用transitive屬性來排除所有的傳遞依賴:
dependencies {cargo('org.codehaus.cargo:cargo-ant:1.3.1') {transitive = false}// 選擇性的聲明一些需要的庫}動態版本聲明
果你想使用一個依賴的最新版本,你可以使用latest.integration,比如聲明 Cargo Ant tasks的最新版本,你可以這樣寫?org.codehaus.cargo:cargo-ant:latest-integration,你也可以用一個+號來動態的聲明:
dependencies {//依賴最新的1.x版本cargo 'org.codehaus.cargo:cargo-ant:1.+'}合并jar并輸出:
task makeJar(type: Jar){archiveName = "xxxx.jar"delete 'build/outputs/xxxx.jar'from (project.zipTree('xxxxx/xx/.jar'))from (project.zipTree('xxxxx/xx/.jar'))destinationDir = file("build/libs")include(**/*.class)exclude "**/R.class"exclude "**/R\$*.class" } makeJar.dependsOn(build)?
?
?
?
?
總結
以上是生活随笔為你收集整理的gradle 打war 包以及合并jar包的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 魔兽世界矮人烈酒在哪里购买 矮人烈酒怎么
- 下一篇: eclipse 中 安装git 插件和使