如何在gradle編程中搭建以及使用maven本地倉庫

本文詳解如何在androidStudio中,搭建以及使用maven本地倉庫

搭建

從無到有

1. 創(chuàng)建一個(gè)javaLibrary, module名字自取.

image.png

image.png

2. 找到這個(gè)module的build.gradle文件

原本長(zhǎng)這樣

此時(shí),右側(cè)Gradle欄目中,zzsyc的Tasks是長(zhǎng)這樣:


image.png

接下來我們進(jìn)行處理:

image.png

在配置publishing閉包的時(shí)候

publishing {//然后進(jìn)行發(fā)布配置
    publications {
        zzsycChannelPlugin(MavenPublication) {//zzsycChannelPlugin 是發(fā)布配置命令的名字
            from components.java // 這個(gè)命令來自java
            groupId = 'com.zhou.plugins' //插件包名,在此插件被引用的時(shí)候必須寫成一摸一樣
            artifactId = 'channelPlugin' //插件名,在此插件被引用的時(shí)候必須寫成一摸一樣
            version = '1.2'//插件版本號(hào)
        }
    }
}

要特別注意3個(gè)參數(shù):

groupId 這是maven的群組ID, artifactId 是插件名,version是插件版本號(hào),三者完全匹配才能準(zhǔn)確定位到一個(gè)插件,定義插件的時(shí)候可以隨便寫,但是使用插件的時(shí)候,必須一毛一樣,否則編譯失敗,說找不到插件。

3. 新建java類,編輯插件邏輯

image.png

MyProject.java
MyTask.java

最最簡(jiǎn)單的插件,也必須有兩個(gè)類,一個(gè) impelement Plugin<Project>,一個(gè) extends DefaultTask

4. 創(chuàng)建插件配置文件

image.png

這里要特別注意:
image.png

這里有3級(jí)目錄, resources / META-INF / gradle-plugins ,然后才是文件名:hank.zhou.plugin.properties
這里的目錄,必須創(chuàng)建成一摸一樣,否則,會(huì)有未知錯(cuò)誤。

5. 發(fā)布插件到mavenLocal

如果上述過程都完成,而且沒有報(bào)編譯錯(cuò)誤,那么就可以發(fā)布插件到mavenLocal:

image.png

注:如果剛才的java代碼中存在中文,那么,你有可能會(huì)看到:
image.png

此時(shí),只需要將文件的編碼格式從utf-8改為GBK即可:


image.png

如果順利,就會(huì)發(fā)布成功:
image.png

我們到本地的maven倉庫目錄下去找找看:


image.png

發(fā)布成功!

使用本地gradle插件

使用的時(shí)候,兩個(gè)步驟:

1. 在全局build.gradle 文件中,加入兩個(gè)部分:

image.png

注:這里classpath 'com.zhou.plugins:channelPlugin:1.2'也是分為3個(gè)部分,一個(gè)groupId,冒號(hào)后面接,artifactId,冒號(hào),接版本號(hào).

2. 在app module的build.gradle中, 引用此插件

image.png

注意,上圖中,apply plugin: 'hank.zhou.plugin' 是新增的代碼。其中 hank.zhou.plugin 是和 hank.zhou,plugin.properties 的文件名是一摸一樣的.
gradle同步成功之后,就能看到我們自定義的Task:
image.png

如果你還沒有搭建maven本地倉庫的話

1. 先去官網(wǎng)下載maven最新版:

image.png

2. 下載好之后,解壓到本地,并且進(jìn)入bin目錄

image.png

3. 在此處打開cmd,輸入mvn help:system 回車

image.png

image.png

直到:


image.png

才算搭建成功!之后就可以在用戶目錄下找到.m2 文件夾,從而找到自己發(fā)布的插件.
image.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容