日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

gradle 打war 包以及合并jar包

發布時間:2023/12/19 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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-8

gradle 依賴管理:

//聲明外部屬性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包的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。