參考:Android Studio依賴管理與Nexus私服搭建
關(guān)閉防火墻 默認(rèn)端口8081:
systemctl stop firewalld
一:創(chuàng)建倉(cāng)庫(kù)
參考資料:
http://books.sonatype.com/nexus-book/3.0/reference/install.html#installation-java
1.1創(chuàng)建自己的倉(cāng)庫(kù)
1.1.1創(chuàng)建用戶
首先使用管理員密碼登陸到 Nexus私服 并添加用戶:
nexus默認(rèn)的用戶名:admin
密碼:初始密碼不是admin123,是保存在nexus安裝目錄下的sonatype-work的admin.password文件中危号,打開(kāi)文件可以看到如下內(nèi)容:
注:內(nèi)容即為密碼明文赶撰,而非加密后的結(jié)果蜕煌,直接復(fù)制登錄即可斩萌。
第一次輸入賬號(hào)密碼后入挣,會(huì)提示修改初始密碼):
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 登錄
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?創(chuàng)建用戶
使用新創(chuàng)建的用戶登錄Nexus并創(chuàng)建倉(cāng)庫(kù):
二:Modul倉(cāng)庫(kù)發(fā)布:
在需要發(fā)布的Modul下build.gradle中添加uploadArchives任務(wù)(
gradle發(fā)布腳本:
/**②.發(fā)布到私有服務(wù)器maven倉(cāng)庫(kù)*/
apply plugin: 'maven'
//打包main目錄下代碼和資源的 task
task androidSourcesJar(type: Jar) {
? ? classifier = 'sources'
? ? from android.sourceSets.main.java.srcDirs
}
//配置需要上傳到maven倉(cāng)庫(kù)的文件
artifacts {
? ? archives androidSourcesJar
}
//上傳到Maven倉(cāng)庫(kù)的task
uploadArchives {
? ? repositories {
? ? ? ? mavenDeployer {
? ? ? ? ? ? //指定maven倉(cāng)庫(kù)url
? ? ? ? ? ? repository(url: "http://localhost:8081/nexus/content/repositories/releases/"){
? ? ? ? ? ? //nexus登錄默認(rèn)用戶名和密碼
? ? ? ? ? ? authentication(userName: "admin", password: "admin123")
? ? ? ? ? ? }
? ? ? ? ? ? pom.project {
? ? ? ? ? ? ? ? pom.groupId = "com.github.itxiaox.utils"http:// 唯一標(biāo)識(shí)(通常為模塊包名说铃,也可以任意)
? ? ? ? ? ? ? ? pom.artifactId = "android-utils" // 項(xiàng)目名稱(通常為類庫(kù)模塊名稱柔滔,也可以任意)
? ? ? ? ? ? ? ? pom.version = "1.0.0" // 版本號(hào)
? ? ? ? ? ? }
? ? ? ? }
? ? }
}
編譯腳本后,雙擊上傳
三:使用
1.配置nexus倉(cāng)庫(kù)訪問(wèn)權(quán)限齐疙,直接設(shè)置允許匿名訪問(wèn)
和使用本地倉(cāng)庫(kù)依賴一樣,我們告訴gradle依賴包倉(cāng)庫(kù)的位置乍丈,在項(xiàng)目根目錄下build.gradle中添加:
allprojects {
? ? repositories {
? ? ? ? jcenter()
? ? ? ? //私有服務(wù)器倉(cāng)庫(kù)地址
? ? ? ? maven {
? ? ? ? ? ? url 'http://127.0.0.1:8081/nexus/content/repositories/releases/'
? ? ? ? }
? ? }
}
然后在需要使用的module的build.gradle文件中添加:
implementation 'com.github.itxiaox.utils:android-utils:1.0.0'
3.2按要求進(jìn)行配置才能進(jìn)行依賴剂碴。
參考:Nexus私服添加用戶名密碼憑據(jù)訪問(wèn)的配置方法
前言
默認(rèn)情況下,Nexus私服的倉(cāng)庫(kù)是允許匿名(anonymous)訪問(wèn)的轻专,也就是任何開(kāi)發(fā)者只要知道你的倉(cāng)庫(kù)地址,都可以遠(yuǎn)程依賴你發(fā)布到倉(cāng)庫(kù)的庫(kù)察蹲。既然是私服请垛,可能有些庫(kù)不想要給其他人訪問(wèn),可以通過(guò)設(shè)置憑據(jù)訪問(wèn)來(lái)限制用戶訪問(wèn)遠(yuǎn)程依賴庫(kù)洽议,最簡(jiǎn)單的一種就是用戶名密碼憑據(jù)訪問(wèn)宗收。
配置方法
Nexus 服務(wù)端配置
第一步:打開(kāi)遠(yuǎn)程倉(cāng)庫(kù),使用有配置管理的賬戶登錄亚兄,打開(kāi)設(shè)置頁(yè)面混稽;
第二步:定位到“Security-Anonymous”,將“Allow anonymous users to access the server”勾選去掉,保存更改匈勋。
第三步:定位到“Security-Roles”礼旅,新建一個(gè)可以訪問(wèn)倉(cāng)庫(kù)的角色
第四步:配置角色,添加可訪問(wèn)的倉(cāng)庫(kù)洽洁,保存角色信息
第五步:定位到“Security-Users”痘系,添加用戶
第六步:給新建的用戶賦予剛才新建的角色,保存用戶饿自。
Gradle配置maven依賴
打開(kāi)AndroidStudio項(xiàng)目根目錄下的build.gradle汰翠,在maven節(jié)點(diǎn)下添加credentials配置,添加username和password兩個(gè)兩個(gè)參數(shù)配置即可昭雌。
repositories {
? ? maven {
? ? ? ? url "http://192.168.8.37:8081/repository/RastarGameSdkOversea/" // 具體倉(cāng)庫(kù)
credentials {
username = 'uname'
password = 'pwd'
}
? ? }
}
對(duì)于其他Maven的配置复唤,跟以上類似,只需要在倉(cāng)庫(kù)配置里添加用戶名和密碼的配置即可烛卧。