在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

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

jf_78858299 ? 來源:小余的自習(xí)室 ? 作者:小余的自習(xí)室 ? 2023-03-30 11:36 ? 次閱讀

實(shí)戰(zhàn)中maven私服接入:

第三方lib庫的上傳操作

使用as創(chuàng)建一個(gè)新的項(xiàng)目,在新建項(xiàng)目下創(chuàng)建一個(gè)lib庫,命名為:lib_vedio:并在lib_vediobuild.gradle工程文件下面,引入maven庫:

實(shí)現(xiàn)uploadArchives的task方法:這個(gè)方法用于上傳lib庫:

plugins {
    id 'com.android.library'
    id 'maven'
}

//上傳的類庫名稱
def _artifactId = this.getName() 
//類庫版本
def pomVersionName = '1.0.1'
def pomName = this.getName()
//類庫描述
def pomDescription = 'the vedio library for all project'

uploadArchives {
    repositories {
        mavenDeployer {
            repository(url:NEXUS_REPOSITORY_URL) {
                authentication(userName: NEXUS_USERNAME, password: NEXUS_PASSWORD)
            }
            pom.project {
                name pomName
                version pomVersionName
                description pomDescription
                artifactId _artifactId
                groupId POM_GROUPID
                packaging POM_PACKAGING
            }
        }
    }
}

里面一些變量是在gradle.properties中設(shè)置的全局變量:

NEXUS_REPOSITORY_URL=http://localhost:8081/repository/anna_release/
POM_GROUPID=com.anna.android
POM_PACKAGING=aar
NEXUS_USERNAME=admin
NEXUS_PASSWORD=admin123456

設(shè)置好后,執(zhí)行uploadArchives任務(wù),這個(gè)時(shí)候我們本地的lib_vedio庫就會(huì)上傳到我們之前搭建的maven私服上:

這里因?yàn)槲覀兩蟼髁藘蓚€(gè)版本1.0.0和1.0.1

切記:

如果當(dāng)前倉庫選擇的是release屬性:則每次上傳的版本不能一致,需要在原版本基礎(chǔ)上增加

如果選擇的是snapshot屬性:則可以在不增加版本號(hào)的前提下,修改同一版本的代碼并上傳。

maven私服倉庫的接入:

我們?cè)陧?xiàng)目的build.gradle文件中引入maven庫:

buildscript {
    repositories {
        google()
        jcenter()
        maven {
            url = 'http://localhost:8081/repository/anna_release/'
            credentials {
                username = 'admin'
                password = 'admin123456'
            }
        }

    }
    dependencies {
        classpath "com.android.tools.build:gradle:4.1.1"

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        google()
        jcenter()
        maven {
            url = 'http://localhost:8081/repository/anna_release/'
            credentials {
                username = 'admin'
                password = 'admin123456'
            }
        }
    }
}

并在app模塊引入lib庫文件:

implementation 'com.anna.android:lib_video:1.0.1'

這樣就可以在我們項(xiàng)目中愉快使用類庫啦。

3.如何發(fā)布到Github倉庫

如果我們需要開源我們的代碼就需要將倉庫發(fā)布到公共倉庫中:

步驟1:在項(xiàng)目級(jí)build.gradle中設(shè)置

buildscript {
    repositories {
        maven { url 'https://jitpack.io' }
    }
    dependencies {
        classpath 'com.github.dcendents:android-maven-gradle-plugin:2.1'
    }
}

allprojects {
    repositories {
        maven { url 'https://jitpack.io' }
    }
}

步驟2:在模塊級(jí)build.gradle設(shè)置如下

apply plugin: 'com.github.dcendents.android-maven'
group = 'com.github.xxx' // xxx為github 的用戶名

步驟3:將源碼pushgithub

步驟4:在github上創(chuàng)建 Release Tag

圖片

release tag.png

步驟5:打開https://jitpack.io 網(wǎng)址, 點(diǎn)擊look up

圖片

jitpack.png

然后會(huì)顯示出對(duì)應(yīng)的編譯版本信息:

紅色代表編譯失敗

藍(lán)色代表編譯成功

可通過日志查看編譯錯(cuò)誤原因:

圖片

編譯失敗信息.png

步驟6:類庫引入:在項(xiàng)目級(jí) build.gradle 聲明遠(yuǎn)程倉庫,在模塊級(jí) build.gradle 中依賴類庫。

項(xiàng)目級(jí)build.gradle

buildscript {
    repositories {
...
        maven { url 'https://jitpack.io' }
    }
    dependencies {
        ...
        classpath 'com.github.ByteYuhb.a_gradle_plugin_sample:uploadversion:1.0.3'
    }
}

這里我們上傳的是一個(gè)gradle插件庫,所以需要在buildscript中的dependencies聲明插件版本信息

關(guān)于Gradle自定義插件的編寫可以參考這篇文章:

Gradle筑基篇(五)-Gradle自定義插件實(shí)戰(zhàn)

模塊級(jí)build.gradle

apply plugin: 'com.yuhb.upload'

versionInfo {
    versionName = '1.0.0'
    versionCode = 1
    versionUpdateInfo = '當(dāng)前是第一個(gè)版本:初始apk'
}
引入插件的group和擴(kuò)展信息

結(jié)果

在編譯期:打印出了Gradle插件中的信息:

Task :app:uploadTask
name:1.0.0 code:1 info:當(dāng)前是第一個(gè)版本:初始apk

4.指定發(fā)布二進(jìn)制文件:

使用新版 Maven 插件,可以直接以指定二進(jìn)制文件的方式發(fā)布組件。例如:

apply plugin: 'maven-publish'

publishing {
    publications {
        [任務(wù)名](MavenPublication) {
            groupId MAVEN_GROUP_ID
            artifactId MAVEN_ARTIFACTID
            version MAVEN_VERSION
            artifact([文件路徑])
        }
    }
    repositories {
        maven {
            // 發(fā)布倉庫路徑
            url MAVEN_RELEASE_URL
        }
    }
}
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 開發(fā)
    +關(guān)注

    關(guān)注

    0

    文章

    370

    瀏覽量

    40843
  • maven
    +關(guān)注

    關(guān)注

    0

    文章

    30

    瀏覽量

    3712
  • gradle
    +關(guān)注

    關(guān)注

    0

    文章

    26

    瀏覽量

    717
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Maven 配置指南

    區(qū))Maven 配置發(fā)生有三個(gè)級(jí)別:Project – 靜態(tài)配置在pom.xmlInstalltion – 這個(gè)配置在maven的一次安裝User – 這個(gè)配置指定部分用戶這樣區(qū)分就清晰了 – 項(xiàng)目定義
    發(fā)表于 08-28 15:08

    【新功能】企業(yè)級(jí)Maven私有倉庫服務(wù)結(jié)束公測(cè),全面開放使用

    的settings.xml文件,那么用戶需要自行將私有倉庫的配置信息添加到該文件。具體可以參考Maven私有倉庫服務(wù)。通過云效上傳二方庫到私有倉庫如果想通過流水線發(fā)布二方庫到私有倉庫,可以先在項(xiàng)目代碼庫根目錄
    發(fā)表于 06-20 15:50

    Linux下的Maven安裝方法

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

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

    源文件引用(build.gradle)開發(fā)者對(duì)使用的組件有優(yōu)化需求的時(shí)候,可以進(jìn)行源文件引用,把源碼下載下來后同步修改。優(yōu)化之后,還可以把源碼貢獻(xiàn)到開源倉。dependencies
    發(fā)表于 11-18 11:17

    如何在嵌入式容器Jetty或Tomcat運(yùn)行帶有Maven的Java Web應(yīng)用程序

    在開發(fā)Java Web應(yīng)用程序時(shí),從“真實(shí)”環(huán)境獲得快速反饋非常實(shí)用。 在本文中,我將探討如何在嵌入式容器Jetty或Tomcat運(yùn)行帶有Maven的Java Web應(yīng)用程序。 在
    發(fā)表于 12-16 06:24

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

    過程中提交代碼到組件開發(fā)倉庫,直到組件功能完成。2.1.5 貢獻(xiàn)發(fā)布組件開發(fā)者將組件貢獻(xiàn)合入YoC,需要按照以下章節(jié)3
    發(fā)表于 03-09 07:37

    MyEclipse環(huán)境搭建Maven的開發(fā)環(huán)境

    一:Maven的下載安裝 1、安裝環(huán)境:win7 旗艦版 + MyEclipse2014 2、前置條件:JDK (本人用的jdk1.8) 3、maven下載: 說明:maven依賴于jdk,所以搭建
    發(fā)表于 11-28 16:13 ?1375次閱讀

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

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

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

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

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

    這個(gè)時(shí)候組件發(fā)布共享就顯的尤為重要。 這篇文章我們就來講解下如何使用`Maven進(jìn)行組件
    的頭像 發(fā)表于 03-30 11:37 ?942次閱讀

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

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

    idea配置了maven但不顯示pom

    配置 Maven 是一個(gè)開發(fā)者常見的任務(wù),通過 Maven 可以更方便地管理項(xiàng)目依賴和構(gòu)建過程。在配置 Maven 的過程,我們可能會(huì)遇到一些問題,比如沒有正確顯示 pom 文件。本
    的頭像 發(fā)表于 12-06 14:17 ?3223次閱讀

    ideamaven無法解析插件是怎么回事

    Maven是一個(gè)軟件項(xiàng)目管理和理解工具,它使用一個(gè)項(xiàng)目對(duì)象模型(POM)文件來描述項(xiàng)目的結(jié)構(gòu)和依賴關(guān)系。Maven的目標(biāo)是簡(jiǎn)化項(xiàng)目的構(gòu)建過程,提高開發(fā)人員的效率。 在Maven的項(xiàng)目構(gòu)建過程
    的頭像 發(fā)表于 12-06 14:18 ?6093次閱讀

    idea如何添加maven

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

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

    使用Nexus在本地搭建npm、yum和maven私有倉庫 為保證在無互聯(lián)網(wǎng)的情況下,可正常搭建、構(gòu)建項(xiàng)目,并自動(dòng)部署項(xiàng)目,本系統(tǒng)采用Nexus+Jenkins+Maven+Gitlab開源
    的頭像 發(fā)表于 08-21 14:46 ?332次閱讀
    使用Nexus在本地搭建npm、yum和<b class='flag-5'>maven</b>私有倉庫
    主站蜘蛛池模板: 午夜网站在线播放| 久久精品人人做人人看| 久久99热不卡精品免费观看| 五月婷婷六月色| 四虎精品影院在线观看视频| 色播图片| 久久青草视频| 天天精品视频| 午夜天堂影院| 青草青视频在线观看| 午夜一级影院| 4455四色永久免费| 亚洲三级在线看| 色综合久久综合| 成人在线a| 色综合色狠狠天天综合色hd| 欧美视频亚洲色图| 欧美成人亚洲| 免费观看视频网站| 欧洲天堂网| 夜夜艹日日干| 69美女poren 18| 日本三级三级三级免费看| l欧美18一19sex性| 久草6| 一级毛片西西人体44rt高清| 日韩电影中文字幕| 天天操天天干天搞天天射| 色色激情网| 九九九精品| aaa在线| 永久免费的啪啪免费的网址| 精品香港经典三级在线看| 黄录像欧美片在线观看| 亚洲爱爱图片| 亚洲dv| 久久久久国产一级毛片高清版| 久久精品国产6699国产精| 操操操综合| 亚洲国产人成在线观看| 久青草国产免费观看|