私下做項(xiàng)目開發(fā)時(shí)衔沼,很多時(shí)候也會(huì)擁有自己的公共庫(kù)欲芹,因此需要一個(gè)便捷的maven倉(cāng)庫(kù)服務(wù)器卿啡,方便自己開發(fā)或者團(tuán)隊(duì)開發(fā)
目錄:
- 一般的利用git搭建maven倉(cāng)庫(kù)都有教程
- 痛點(diǎn)解決,如何擁有一個(gè)獨(dú)立的干凈的本地倉(cāng)庫(kù)
- gradle工程的部署
- maven工程的部署
- 公共庫(kù)的依賴添加利用
一菱父、利用碼云搭建maven倉(cāng)庫(kù)流程
利用碼云是因?yàn)榭梢栽O(shè)為私有倉(cāng)庫(kù)颈娜,如果github的話,大家都能看到了浙宜。網(wǎng)上教程一大堆官辽,此處不在羅列,
這篇就很好: 使用碼云搭建Maven私服
二、如何擁有一個(gè)獨(dú)立的干凈的本地倉(cāng)庫(kù)
通過上節(jié)介紹粟瞬,可以發(fā)現(xiàn)自己公共倉(cāng)庫(kù)想做版本控制時(shí)同仆,首先需要去掉大量的其它第三方庫(kù)緩存,上節(jié)最后給的思路是:?jiǎn)为?dú)做包名區(qū)分裙品,可以解決問題俗批,但總感覺不妥
個(gè)人的本地倉(cāng)庫(kù)目錄為:/Users/leixun/.m2/repository,所有的maven install 和依賴庫(kù)都會(huì)默認(rèn)下載到這個(gè)地方,為了和自己開發(fā)的公共倉(cāng)庫(kù)不做混淆市怎,因此需要建立一個(gè)獨(dú)立的目錄
2.1扶镀、 新建一個(gè)獨(dú)立的專門用來存儲(chǔ)公共庫(kù)的目錄,并上傳git做版本控制
mkdir /Users/leixun/my_maven/repository
2.2焰轻、gradle工程的部署
1、 gradle部署配置如下昆雀,然后執(zhí)行該task即可發(fā)現(xiàn)maven倉(cāng)庫(kù)目錄下會(huì)有相應(yīng)庫(kù)
uploadArchives {
repositories {
mavenDeployer {
pom.groupId = 'com.koolearn'
pom.artifactId = 'koolearn_media_ui'
pom.version = android.defaultConfig.versionName
// repository(url: "http://maven.koolearn-inc.com/nexus/content/repositories/ydcx_release") {
// authentication(userName: "", password: "")
// }
repository(url: 'file:/Users/leixun/my_maven/repository')
}
}
}
2.3辱志、maven工程的部署
- pom文件配置(本人暫未成功,但是感覺應(yīng)該可以成功)
i.pom.xml 中增加:
<distributionManagement>
<repository>
<id>localRepository</id>
<url>file:D:/Workspace/Repository</url>
</repository>
</distributionManagement>
ii. 執(zhí)行mvn deploy即可
- 命令行部署
此處曾經(jīng)踩吭狞膘,一定是命令行切換到相應(yīng)工程modulue的有pom.xml的目錄中揩懒,否則失敗
mvn deploy -DaltDeploymentRepository=amleixun-mvn-reop::default::file:/Users/leixun/my_maven/repository
# amleixun-mvn-reop:為repository id
# /Users/leixun/my_maven/repository:git管理的本地maven倉(cāng)庫(kù)目錄
2.4、倉(cāng)庫(kù)的添加
- pom中利用如下
// 碼云配置 repository為根目錄
<repository>
<id>amleixun-mvn-reop</id>
<url>https://gitee.com/leixun/repository/raw/master/</url>
</repository>
//maven 中相應(yīng)的dependend中添加
<dependency>
<groupId>com.antstudy</groupId>
<artifactId>redis_client</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
- gradle利用
repositories {
// git倉(cāng)庫(kù)
maven{
url 'https://gitee.com/leixun/repository/raw/master/'
}
maven { url 'https://oss.sonatype.org/content/repositories/releases' }
maven { url 'https://jitpack.io' }
maven { url 'http://maven.koolearn-inc.com/nexus/content/repositories/ydcx_release' }
jcenter()
flatDir {
dirs 'libs' // aar目錄
}
}
<dependency>
compile 'com.antstudy:redis_client:1.0-SNAPSHOT'
</dependency>
tips: 本文只羅列了核心點(diǎn)挽封,并未做詳細(xì)步驟的說明和截圖羅列已球,如有不解可聯(lián)系互相交流