摘要:前言本篇主要講述多模塊打包,上傳本地倉(cāng)庫(kù),并交由本地其他項(xiàng)目使用環(huán)境準(zhǔn)備操作系統(tǒng)版本開(kāi)發(fā)軟件注版本不同,引入依賴方式可能不同,如果你發(fā)現(xiàn)本地導(dǎo)包是的,但是打包就報(bào)錯(cuò),可以看看是不是版本所引起的問(wèn)題多模塊文檔多環(huán)境講解,官方文檔,官方文檔描述
1、前言
本篇主要講述:gradle多模塊打jar包,上傳本地倉(cāng)庫(kù),并交由本地其他項(xiàng)目使用2、環(huán)境準(zhǔn)備
操作系統(tǒng): mac os
gradle版本:4.1.0
開(kāi)發(fā)軟件:idea
注:gradle版本不同,引入依賴方式可能不同,如果你發(fā)現(xiàn)本地導(dǎo)包是OK的,但是打包就報(bào)錯(cuò),可以看看是不是gradle版本所引起的問(wèn)題3、多模塊gradle文檔
【gradle多環(huán)境講解,官方文檔】,官方文檔描述了多模塊配置中的幾個(gè)閉包的常規(guī)使用
allprojects{}, subprojects{}。前者配置應(yīng)用包括root模塊在內(nèi)的所有模塊,后者只應(yīng)用子模塊,詳細(xì)的使用規(guī)則進(jìn)入官方文檔詳細(xì)了解
項(xiàng)目1結(jié)構(gòu)
|──root-project-one 項(xiàng)目1名稱 ├── common-project 基礎(chǔ)子項(xiàng)目 │ └── build.gradle 基礎(chǔ)子項(xiàng)目配置文件 ├── example-project 依賴common項(xiàng)目的示例項(xiàng)目 │ └── build.gradle 依賴common項(xiàng)目的示例項(xiàng)目的配置文件 ├── build.gradle 項(xiàng)目1的配置文件
項(xiàng)目2結(jié)構(gòu)
|──root-project-two 項(xiàng)目2名稱 ├── build.gradle 項(xiàng)目2的配置文件(需要引用項(xiàng)目1中的example-project)
各個(gè)項(xiàng)目的配置文件(此處只列舉主要配置)
root-project-one/build.gradle
//所有子項(xiàng)目共享配置 subprojects { apply plugin: "maven" // 獲取本地倉(cāng)庫(kù)路徑 def localRepositoryPath = "file://" + new File(System.getProperty("user.home"), ".m2/repository").absolutePath //打包至本地倉(cāng)庫(kù)配置 uploadArchives { repositories { //mavenDeployer 需要依賴 apply plugin: "maven" mavenDeployer { repository(url: localRepositoryPath) pom.project { name = project.name // 當(dāng)前項(xiàng)目名稱 version = project.version //當(dāng)前項(xiàng)目版本 0.0.1 groupId = project.group // 當(dāng)前項(xiàng)目組 com.xxx } } } } }
common-project/build.gradle
//jar SKIPPED 問(wèn)題,添加如下配置 jar.enabled=true //(不設(shè)置可能會(huì)無(wú)法打jar)
example-project/build.gradle
dependencies { //依賴 common-project compile project(":common-project") } //jar SKIPPED 問(wèn)題,添加如下配置 jar.enabled=true
上述配置完畢后刷新gradle配置,進(jìn)入每個(gè)子模塊中打開(kāi)命令行執(zhí)行如下命令進(jìn)行打包
gradle -q uploadArchives
或者打開(kāi)右側(cè)的gradle面板,到模塊下的task>upload>uploadArchives,點(diǎn)擊執(zhí)行即可生成相關(guān)jar
本地項(xiàng)目引用jar
root-project-two /build.gradle
repositories { //優(yōu)先查找本地maven庫(kù),性能最好 mavenLocal() //注:引用本地jar包時(shí),必須加上本地maven庫(kù) maven{ url "http://maven.aliyun.com/nexus/content/groups/public/"} } dependencies { //依賴本地jar compile("com.xxx:example-project:0.0.1") }5、總結(jié)
gradle版本可以通過(guò)修改項(xiàng)目下gradle>wrapper>gradle-wrapper.properties文件的distributionUrl對(duì)應(yīng)地址的版本來(lái)修改,修改版本后需要刷新gradle
當(dāng)多模塊相互依賴,打包給本地其他項(xiàng)目使用的時(shí)候,相互依賴的模塊建議都打jar包上傳本地倉(cāng)庫(kù)
Diboot - 簡(jiǎn)單高效的輕代碼開(kāi)發(fā)框架
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/74527.html
摘要:時(shí)間年月日星期二說(shuō)明本文部分內(nèi)容均來(lái)自慕課網(wǎng)。項(xiàng)目一個(gè)項(xiàng)目代表一個(gè)正在構(gòu)建的組件比如一個(gè)文件,當(dāng)構(gòu)建啟動(dòng)后,會(huì)基于實(shí)例化一個(gè)類,并且能夠通過(guò)變量使其隱式可用。任務(wù)動(dòng)作定義了一個(gè)最小的工作單元。 時(shí)間:2017年05月16日星期二說(shuō)明:本文部分內(nèi)容均來(lái)自慕課網(wǎng)。@慕課網(wǎng):http://www.imooc.com教學(xué)示例源碼:無(wú)個(gè)人學(xué)習(xí)源碼:https://github.com/zccod...
摘要:本文轉(zhuǎn)載自微信公眾號(hào)賬號(hào),作者為海航生態(tài)科技技術(shù)研究院大數(shù)據(jù)開(kāi)發(fā)工程師高顏。文章介紹了海航生態(tài)科技輿情大數(shù)據(jù)平臺(tái)的容器化改造經(jīng)驗(yàn),包括初期技術(shù)架構(gòu)應(yīng)用容器化架構(gòu)遷移持續(xù)發(fā)布與部署。 本文轉(zhuǎn)載自微信公眾號(hào)Docker(賬號(hào):dockerone),作者為海航生態(tài)科技技術(shù)研究院大數(shù)據(jù)開(kāi)發(fā)工程師高顏。 文章介紹了海航生態(tài)科技輿情大數(shù)據(jù)平臺(tái)的容器化改造經(jīng)驗(yàn),包括初期技術(shù)架構(gòu)、應(yīng)用容器化、架構(gòu)遷...
閱讀 1359·2021-10-27 14:14
閱讀 3605·2021-09-29 09:34
閱讀 2506·2019-08-30 15:44
閱讀 1751·2019-08-29 17:13
閱讀 2598·2019-08-29 13:07
閱讀 907·2019-08-26 18:26
閱讀 3367·2019-08-26 13:44
閱讀 3233·2019-08-26 13:37