摘要:通用統(tǒng)一定義子項(xiàng)目的通用部分在根目錄的中定義依賴打包后,自動(dòng)創(chuàng)建添加一個(gè)任務(wù)在中定義執(zhí)行任務(wù)的結(jié)果打包時(shí),自動(dòng)加入在中中包需要注意的是必須在上面。我之前是顛倒的總是報(bào)錯(cuò)
通用 統(tǒng)一定義子項(xiàng)目的通用部分
在根目錄的build.gradle中定義:
subprojects{ repositories { jcenter() } }War war 依賴 war
war { into("/") { exclude "META-INF/MANIFEST.MF" // or whatever with project(":sub-project-name").war } }打包war后,自動(dòng)創(chuàng)建exploded war
添加一個(gè)任務(wù)
task explodedWar(type: Sync) { println "exploded war start" into "${buildDir}/exploded" with war println "exploded war end" }
在war中定義finalizedBy
war { finalizedBy "explodedWar" }
執(zhí)行war任務(wù)的結(jié)果
15:08:28: Executing external task "war"... exploded war start exploded war end :wbms-lib:compileJava UP-TO-DATE :wbms-lib:processResources UP-TO-DATE :wbms-lib:classes UP-TO-DATE :wbms-lib:jar UP-TO-DATE :wbms-web:compileJava UP-TO-DATE :wbms-web:processResources UP-TO-DATE :wbms-web:classes UP-TO-DATE :wbms-web-jetty-embed:compileJava UP-TO-DATE :wbms-web-jetty-embed:processResources UP-TO-DATE :wbms-web-jetty-embed:classes UP-TO-DATE :wbms-web-jetty-embed:war :wbms-web-jetty-embed:explodedWar BUILD SUCCESSFUL Total time: 8.522 secs 15:08:37: External task execution finished "war".Jar 打包時(shí),自動(dòng)加入在manifest中dependencies中jar包
apply plugin: "java" sourceCompatibility = 1.8 dependencies{ ... } jar { manifest { attributes( "Main-Class": "com.cnvp.wbms.application.startup", "Implementation-Title": "Gradle", "Implementation-Version": version, "Class-Path": configurations.compile.collect {it.getName()}.join(" ") ) } }
需要注意的是:dependencies必須在jar上面。我之前是顛倒的configurations.compile.collect {it.getName()}.join(" ")總是報(bào)錯(cuò)
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/70187.html
摘要:可以在沒(méi)有安裝的情況下使用,這時(shí)候就需要了。創(chuàng)建文件使用來(lái)創(chuàng)建一組文件。官方建議我們?cè)谒许?xiàng)目中都創(chuàng)建文件,方便沒(méi)有安裝的用戶使用。代碼如下然后使用來(lái)查看變更之后的版本。不過(guò)只需要下載一次,之后再次使用相同的版本就不會(huì)下載了。 Gradle可以在沒(méi)有安裝Gradle的情況下使用,這時(shí)候就需要Gradle Wrapper了。Gradle Wrapper其實(shí)就是一個(gè)腳本文件,它會(huì)在沒(méi)有安裝...
摘要:最近想深入的學(xué)習(xí)一下工程化方面相關(guān)的東西,在和直接糾結(jié)不已,因?yàn)榈臄U(kuò)展性太差勁了,學(xué)習(xí)成本頗高,所以最后投入了的懷抱中,以后有時(shí)間再重新學(xué)習(xí)一下吧最近的學(xué)習(xí)筆記是基于系列,其中各種教程和例子大都是來(lái)源于官方文檔或者網(wǎng)絡(luò)上的博客。 最近想深入的學(xué)習(xí)一下工程化方面相關(guān)的東西,在maven和gradle直接糾結(jié)不已,因?yàn)閙aven的擴(kuò)展性太差勁了,學(xué)習(xí)成本頗高,所以最后投入了gradle的懷...
via: https://tianyu94.com/2019/06/... Make the impossible possible, make the possible easy, and make the easy elegant Gradle is Groovy Minimize Coupling, Maximize Cohesion Task 任務(wù) task helloWorld {...
摘要:記得在中支持多個(gè)子項(xiàng)目的構(gòu)建方法同樣的在中也會(huì)支持多項(xiàng)目的構(gòu)建方法還記得在中如何配置多項(xiàng)目工程嗎這里回憶一下首先我們需要一個(gè)父元素文件比如這樣而在中我們并不需要指定父元素的標(biāo)簽我們只需要編寫好對(duì)應(yīng)的文件夾名稱,并且將文件夾名稱和對(duì) 記得在maven中支持多個(gè)子項(xiàng)目的構(gòu)建方法,同樣的在gradle 中也會(huì)支持多項(xiàng)目的構(gòu)建方法 還記得在maven中如何配置多項(xiàng)目工程嗎, 這里回憶一下 首先...
摘要:是一個(gè)基于和概念的項(xiàng)目自動(dòng)化構(gòu)建工具。當(dāng)前其支持的語(yǔ)言限于和主要面向應(yīng)用。本次分享將具體講述如何利用來(lái)創(chuàng)建一個(gè)簡(jiǎn)單的項(xiàng)目。首先我們新建一個(gè)文件夾作為展示的項(xiàng)目。中的代碼如下這是用來(lái)定義項(xiàng)目。接著創(chuàng)建文件夾,這是項(xiàng)目開(kāi)發(fā)中習(xí)慣性的構(gòu)建方法。 ??Gradle是一個(gè)基于Apache Ant和Apache Maven概念的項(xiàng)目自動(dòng)化構(gòu)建工具。它使用一種基于Groovy的特定領(lǐng)域語(yǔ)言(DSL)...
摘要:項(xiàng)目結(jié)構(gòu)下面是我們創(chuàng)建項(xiàng)目生成的目錄展開(kāi)目錄如下配置文件,由系統(tǒng)自動(dòng)生成,一般情況下不需要進(jìn)行修改開(kāi)發(fā)工具的信息默認(rèn)啟動(dòng)模塊主模塊,開(kāi)發(fā)者用于編寫源碼文件以及開(kāi)發(fā)資源文件的目錄用于存放模塊的依賴文件用于存放源碼用于存放應(yīng)用所用到的資源文件 1.項(xiàng)目結(jié)構(gòu) 下面是我們創(chuàng)建項(xiàng)目生成的目錄 1.M...
閱讀 3981·2023-01-11 11:02
閱讀 4487·2023-01-11 11:02
閱讀 3365·2023-01-11 11:02
閱讀 5386·2023-01-11 11:02
閱讀 4947·2023-01-11 11:02
閱讀 5875·2023-01-11 11:02
閱讀 5562·2023-01-11 11:02
閱讀 4382·2023-01-11 11:02