什么是Maven呢图张?
Maven 是一個(gè)項(xiàng)目管理和自動(dòng)構(gòu)建工具
那我們?yōu)槭裁匆罱∕aven的私有倉庫呢?
- 有的公司不能訪問外網(wǎng)壕翩,故通過搭建私有倉庫來管理庫文件、插件等催享;
- 有的公司網(wǎng)速比較慢,故可以通過搭建私有倉庫來獲取庫文件或者插件哟绊,速度比較快因妙;
- 有的公司經(jīng)常會(huì)開發(fā)一些常用工具或者組件,故可以通過搭建私有倉庫來共享給其他開發(fā)者票髓,有利于統(tǒng)一維護(hù)和管理攀涵。
環(huán)境搭建
1、JDK 1.8
一般做Android開發(fā)都有搭建洽沟,沒有的以故,自行百度教程
2、Maven 下載地址
現(xiàn)在maven版本是3.3.9裆操,下載以下的版本:
3怒详、Nexus3下載 下載地址
下載解壓后有兩個(gè)文件: nexus-3.2.1-01和sonatype-work,在nexus-3.2.1-01\etc下有個(gè)nexus-default.properties文件踪区,修改application-port=8081為8083昆烁,8081可能會(huì)被其他端口占用
4、環(huán)境驗(yàn)證
安裝好以上環(huán)境之后可以通過mvn --version和java -version驗(yàn)證是否安裝成功
然后在nexus.exe所在目錄用命令行執(zhí)行nexus.exe /run缎岗,不要雙擊打開nexus.exe静尼,因?yàn)槟惆l(fā)現(xiàn)根本打不開,哈哈
如果出現(xiàn)以上信息說明你已正確的安裝了環(huán)境传泊,接著就可以在瀏覽器輸入輸入localhost:8083鼠渺,賬號默認(rèn)為admin,密碼為admin123
5眷细、 創(chuàng)建倉庫
登錄完之后
復(fù)制倉庫地址拦盹,待會(huì)在Android Studio 會(huì)用到
6、Android Studio配置
(1)在項(xiàng)目的gradle.properties中添加如下內(nèi)容
MAVEN_SNAPSHOT_URL=http://192.168.1.123:8083/repository/cwj/
#nexus賬號
NEXUS_USERNAME=admin
#賬號密碼
NEXUS_PASSWORD=admin123
#maven repository的url
MAVEN_URL=http://192.168.1.123:8083/repository/cwj/
#發(fā)布的版本號
NEXUS_VERSION=1.0.0
#庫的名稱
ARTIFACT_ID=ImageSelect
#組id
GROUP_ID=com.cwj.imageselect
#指定類型薪鹦,一般為aar
TYPE=aar
#添加描述信息
DESCRIPTION=圖片選擇器
MAVEN_URL和MAVEN_SNAPSHOT_URL是你創(chuàng)建倉庫的地址掌敬,http://localhost:8083/repository/cwj/,把localhost改為電腦的IP地址池磁,可以通過cmd 輸入ipconfig查詢
(2)在項(xiàng)目的build.gradle配置Maven地址
(3)在選擇需要放在私有倉庫的庫文件的build.gradle添加
uploadArchives {
configuration = configurations.archives
repositories {
mavenDeployer {
snapshotRepository(url: MAVEN_SNAPSHOT_URL) {
authentication(userName: NEXUS_USERNAME, password: NEXUS_PASSWORD)
}
repository(url: MAVEN_URL) {
authentication(userName: NEXUS_USERNAME, password: NEXUS_PASSWORD)
}
pom.project {
version NEXUS_VERSION
artifactId ARTIFACT_ID
groupId GROUP_ID
packaging TYPE
description DESCRIPTION
}
}
}
}
artifacts {
archives file('imageselect.aar')
}
記得在build.gradle添加
apply plugin: 'maven'
(4)上傳庫文件
(5)查看文件
(6)引用文件
compile 'com.cwj.imageselect:ImageSelect:1.0.0'