那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何使用Maven進行組件化發(fā)布(下)

jf_78858299 ? 來源:小余的自習室 ? 作者:小余的自習室 ? 2023-03-30 11:37 ? 次閱讀

如何封裝一個通用發(fā)布版本

步驟1:在項目根目錄下創(chuàng)建:

maven_publish.gradle
apply plugin: 'maven'

uploadArchives {
    repositories {
        mavenDeployer {
            // 是否快照版本
            def isSnapShot = Boolean.valueOf(MAVEN_IS_SNAPSHOT)
            def versionName = MAVEN_VERSION
            if (isSnapShot) {
                versionName += "-SNAPSHOT"
            }
            // 組件信息
            pom.groupId = MAVEN_GROUP_ID
            pom.artifactId = MAVEN_ARTIFACTID
            pom.version = versionName

            // 快照倉庫路徑
            snapshotRepository(url: uri(MAVEN_SNAPSHOT_URL)) {
                authentication(userName: MAVEN_USERNAME, password: MAVEN_USERNAME)
            }
            // 發(fā)布倉庫路徑
            repository(url: uri(MAVEN_RELEASE_URL)) {
                authentication(userName: MAVEN_USERNAME, password: MAVEN_USERNAME)
            }

            println("###################################"
                    + "\\nuploadArchives = " + pom.groupId + ":" + pom.artifactId + ":" + pom.version + "." + pom.packaging
                    + "\\nrepository =" + (isSnapshot ? MAVEN_SNAPSHOT_URL : MAVEN_RELEASE_URL)
                    + "\\n###################################"
            )
        }
    }
}

這段腳本會讀取 MAVEN_IS_SNAPSHOT 配置參數(shù),如果為 true,會在版本號后追加 -SNAPSHOT 后綴,表示快照版本。隨后聲明了兩個倉庫:repository(…) 聲明的是 Release 倉庫地址,而 snapshotRepository(…) 聲明的是快照倉庫地址。Maven 會自動將版本號帶 -SNAPSHOT 后綴的組件發(fā)布到 snapshotRepository(…) 倉庫中,這樣就 自動將正式版本和快照版本分發(fā)的不同倉庫中。

步驟2:聲明項目級gradle.properties配置參數(shù):

MAVEN_SNAPSHOT_URL = /Users/yuhb/workspace/public/DemoHall/snapshotRepository
MAVEN_RELEASE_URL = /Users/yuhb/workspace/public/DemoHall/releaseRepository
MAVEN_USERNAME = 
MAVEN_PASSWORD = 
MAVEN_IS_SNAPSHOT = true
MAVEN_GROUP_ID = com.yuhb.demo

| 參數(shù)描述 |

MAVEN_SNAPSHOT_URL 快照倉庫地址
MAVEN_RELEASE_UR 發(fā)布倉庫地址
MAVEN_USERNAME 倉庫賬號
MAVEN_PASSWORD 倉庫密碼
MAVEN_IS_SNAPSHOT 是否快照版本
MAVEN_GROUP_ID 組織 / 公司的名稱
MAVEN_ARTIFACTID 組件的名稱(在發(fā)布模塊配置)
MAVEN_VERSION 組件的版本(在發(fā)布模塊配置)

步驟 3:在發(fā)布模塊應(yīng)用腳本

apply from: '../maven.gradle'
...

步驟 4:在發(fā)布模塊配置參數(shù) (模塊級配置參數(shù)會覆蓋項目級配置參數(shù))

模塊級 gradle.properties

MAVEN_ARTIFACTID = maven
MAVEN_VERSION = v1.0.0
MAVEN_IS_SNAPSHOT = true
...

然后在Gradle面板中找到對應(yīng)模塊下的任務(wù)uploadArchives,執(zhí)行成功后就可以將組建發(fā)布對應(yīng)的maven私服上了

本地aar文件引入的一些技巧:

模塊級build.gradle

dependencies {
    ...
    api(name: 'lib-debug', ext: 'aar')
}

repositories {
    flatDir {
        dirs "libs"
    }
}

這種方式如果其他模塊需要使用就不方便:

方法1

在項目級build.gradle

allprojects {
    repositories {
        google()
        mavenCentral()
        flatDir { dirs project(':aarlib').file('libs') } // 文件夾要放在某個 module 內(nèi)
    }
}

這種方式可以在本工程中使用,如果跨工程或者跨設(shè)備就不好使了

方法2:二次打包aar發(fā)布到maven倉庫

apply plugin: 'maven-publish'

def libPath = project.getProjectDir().getAbsolutePath()

publishing {
    publications {
        lib1(MavenPublication) {
            groupId MAVEN_GROUP_ID
            artifactId "lib"
            version "v1.0.0"
            artifact(libPath + "/libs/lib.aar")
        }

        lib2(MavenPublication) {
            groupId MAVEN_GROUP_ID
            artifactId "lib2"
            version "v1.0.0"
            artifact(libPath + "/libs/lib2.aar")
        }
    }
    repositories {
        maven {
            // 發(fā)布倉庫路徑
            url MAVEN_RELEASE_URL

            // 本地倉庫地址不適用賬號密碼
            // > Failed to publish publication 'maven' to repository 'maven'
            // > Authentication scheme 'all'(Authentication) is not supported by protocol 'file'
            // credentials(PasswordCredentials) {
            //     username = MAVEN_USERNAME
            //     password = MAVEN_PASSWORD
            // }
        }
    }
}

好了,本文就講解到這里了,基本涵蓋了關(guān)于Maven倉庫如何使用的大部分知識盲點,內(nèi)容較多,大家可以收藏起來慢慢消化。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 開發(fā)
    +關(guān)注

    關(guān)注

    0

    文章

    370

    瀏覽量

    40921
  • maven
    +關(guān)注

    關(guān)注

    0

    文章

    30

    瀏覽量

    3743
  • gradle
    +關(guān)注

    關(guān)注

    0

    文章

    26

    瀏覽量

    742
收藏 人收藏

    評論

    相關(guān)推薦

    Maven 配置指南

    Maven 配置指南http://bbs.edu118.com/forum.php?mod=viewthread&tid=263&fromuid=231(出處: 信盈達IT技術(shù)社
    發(fā)表于 08-28 15:08

    使用IDEA創(chuàng)建Maven工程的開發(fā)步驟

    Hibernate學習筆記:IDEAMaven工程使用Hibernate示例
    發(fā)表于 05-07 10:56

    無法在發(fā)布模式進行編譯

    無法在發(fā)布模式進行編譯以上來自于谷歌翻譯以下為原文 Compiling in release mode not possible
    發(fā)表于 05-13 08:15

    Linux部署maven(war包)web 項目

    一、說明Linux配置Java環(huán)境及安裝Tomcat,請參考博文點擊打開鏈接Linux部署maven步驟分為以下幾點:1.Eclipse導(dǎo)出war包2.拷貝war包到Linux3.Linux解壓
    發(fā)表于 07-04 06:40

    LinuxMaven安裝方法

    關(guān)鍵步驟如下: 1. 下載Maven包. 2. 解壓Maven包. 3.配置Maven系統(tǒng)參數(shù),驗證Maven是否正確安裝.
    發(fā)表于 07-23 08:01

    HarmonyOS組件更新,新增700+開源組件

    。開發(fā)的腳步永不停歇,在廣大組件貢獻者的共同努力,又迎來了第三批組件開源。 一、新增開源組件概覽本次新增開源組件,涉及工具、網(wǎng)絡(luò)、文件數(shù)據(jù)
    發(fā)表于 11-18 11:17

    YoC組件發(fā)布開源操作指南須知

    package節(jié)點可以看到添加的組件。2.1.3 創(chuàng)建開發(fā)倉庫開發(fā)者獲取解決方案或組件代碼后,可以根據(jù)自身的需求在代碼托管平臺上創(chuàng)建組件開發(fā)倉庫,
    發(fā)表于 03-09 07:37

    Maven工具生成Mybatis的代碼及映射的文件

    本文介紹一Maven工具如何生成Mybatis的代碼及映射的文件。
    發(fā)表于 11-29 11:37 ?2063次閱讀
    <b class='flag-5'>Maven</b>工具生成Mybatis的代碼及映射的文件

    Maven管理的jar沒有發(fā)布到WEB-INFlib應(yīng)該如何解決詳細方案說明

    本文檔的主要內(nèi)容詳細介紹的是Maven管理的jar沒有發(fā)布到WEB-INFlib應(yīng)該如何解決詳細方案說明。
    發(fā)表于 05-30 17:07 ?9次下載
    <b class='flag-5'>Maven</b>管理的jar沒有<b class='flag-5'>發(fā)布</b>到WEB-INFlib<b class='flag-5'>下</b>應(yīng)該如何解決詳細方案說明

    Linux環(huán)境安裝Maven的步驟

    安裝maven的第一步呢,我們首先得有maven這個東西,我們?nèi)ニ墓倬W(wǎng)下載永遠是最新最權(quán)威的,作為開發(fā)人員,我們必須要有這種意識,也要養(yǎng)成下載東西去其官網(wǎng)下載的好習慣。
    的頭像 發(fā)表于 02-08 17:44 ?2533次閱讀
    Linux環(huán)境<b class='flag-5'>下</b>安裝<b class='flag-5'>Maven</b>的步驟

    如何使用Maven進行組件發(fā)布(上)

    這個時候組件發(fā)布共享就顯的尤為重要。 這篇文章我們就來講解下如何使用`Maven進行組件
    的頭像 發(fā)表于 03-30 11:36 ?1308次閱讀
    如何使用<b class='flag-5'>Maven</b><b class='flag-5'>進行</b><b class='flag-5'>組件</b><b class='flag-5'>化</b><b class='flag-5'>發(fā)布</b>(上)

    如何使用Maven進行組件發(fā)布(中)

    這個時候組件發(fā)布共享就顯的尤為重要。 這篇文章我們就來講解下如何使用`Maven進行組件
    的頭像 發(fā)表于 03-30 11:36 ?934次閱讀
    如何使用<b class='flag-5'>Maven</b><b class='flag-5'>進行</b><b class='flag-5'>組件</b><b class='flag-5'>化</b><b class='flag-5'>發(fā)布</b>(中)

    如何理解Maven拉包原理,搞定Maven構(gòu)建項目

    依賴是我們在使用 Maven 構(gòu)建項目時最常使用的功能,通過依賴標簽,我們可以直接從Maven倉庫中引入對應(yīng)的Jar包,無需手動再將Jar添加到目錄下了,可謂是十分方便,不過我們除了使用,還需要考慮多模塊依賴之間的關(guān)系。
    發(fā)表于 05-25 09:50 ?636次閱讀
    如何理解<b class='flag-5'>Maven</b>拉包原理,搞定<b class='flag-5'>Maven</b>構(gòu)建項目

    idea如何添加maven

    Maven是一個開源的項目管理工具,它提供了一種簡單的方式來管理項目的依賴關(guān)系、構(gòu)建過程和發(fā)布部署。本文將詳細介紹如何將Maven添加到你的項目中,并使用它來管理你的項目。 第一步:安裝Mav
    的頭像 發(fā)表于 12-06 14:56 ?1297次閱讀

    使用Nexus在本地搭建npm、yum和maven私有倉庫

    使用Nexus在本地搭建npm、yum和maven私有倉庫 為保證在無互聯(lián)網(wǎng)的情況,可正常搭建、構(gòu)建項目,并自動部署項目,本系統(tǒng)采用Nexus+Jenkins+Maven+Gitl
    的頭像 發(fā)表于 08-21 14:46 ?397次閱讀
    使用Nexus在本地搭建npm、yum和<b class='flag-5'>maven</b>私有倉庫
    澳门顶级赌场| 大发888信用好不好| 娱乐城百家乐可以代理吗| 百家乐baccarat| 大发888娱乐城范本| 皇家赌场| 百家乐官网游戏试玩免费| 678百家乐官网博彩娱乐场| 游艇会百家乐官网的玩法技巧和规则 | 粤港澳百家乐娱乐网| 普通牌二八杠分析仪| 连平县| 百家乐官网路珠多少钱| 百家乐官网线路图分析| 网络百家乐玩法| 香港六合彩报| 百家乐官网庄9点| 网上百家乐平台下载| 大发888娱乐城 真钱bt| 赌博娱乐城| 百家乐官网真人荷官网| 破解百家乐真人游戏| 豪盈国际娱乐| 视频百家乐官网是真是假| 百家乐官网如何切牌好| 百家乐园sun811.com| 网上娱乐城注册送彩金| 高档百家乐官网桌子| 百人百家乐软件供应| 大发888二十一点| 百家乐视频游戏双扣| 百家乐平客户端| 走地皇娱乐城| 唐人街百家乐官网的玩法技巧和规则| 博九百家乐官网的玩法技巧和规则| 新葡京百家乐现金| 大发888怎么找| 大发线上娱乐| 百家乐官网百家乐官网技巧| 大发888娱乐场下载 17| 百家乐官网赌博网址|