爲何要在本地開發機器上安裝nexus?首先聲明公司內部是有本身的nexus倉庫,可是對上傳jar包作了限制,不能暢快的上傳本身測試包依賴。因而就本身在本地搭建了一個nexus私服,便可以使用公司nexus私服倉庫中的依賴,也能夠上傳和使用本身的測試包依賴。app
Download Nexus Repository OSSmaven
將下載的nexus-3.14.0-04-win64.zip解壓到自定義目錄便可。測試
打開zip解壓文件下的 ../nexus-3.14.0-04-win64/nexus-3.14.0-04/etc/nexus-default.properties。
以下屬性能夠自定義修改。gradle
一般能夠不作任何修改,但我的習慣於修改 application-host 爲127.0.0.1(關於0.0.0.0與127.0.0.1的區別自行檢索),我這裏只修改了端口。url
在.../nexus-3.14.0-04-win64/nexus-3.14.0-04/bin 目錄下,以管理員身份運行cmd
1. nexus.exe /run 命令能夠啓動nexus服務(參考官方文檔)
2. 安裝nexus本地服務來啓動(推薦使用這種方式,參考官方文檔),命令以下所示。spa
nexus.exe /install <optional-service-name> //安裝nexus服務 nexus.exe /install <optional-service-name> //安裝nexus服務
nexus.exe /start <optional-service-name> //啓動nexus服務 nexus.exe /stop <optional-service-name> //中止nexus服務
默認的用戶名和密碼分別是:admin/amdin123代理
若是沒有作任何端口和上下文路徑的修改,直接訪問 http://localhost:8081便可。code
倉庫名
|
做用
|
hosted(宿主倉庫庫)
|
存放本公司開發的jar包(正式版本、測試版本)
|
proxy(代理倉庫)
|
代理中央倉庫、Apache下測試版本的jar包
|
group(組倉庫)
|
使用時鏈接組倉庫,包含Hosted(宿主倉庫)和Proxy(代理倉庫)
|
virtual (虛擬倉庫)
|
基本用不到,重點關注上面三個倉庫的使用
|
如上圖所示,maven-public就我建立的組倉庫。以及還建立了3個代理倉庫,以下。server
一、jcenter倉庫:https://jcenter.bintray.com/xml
二、maven中央倉庫:https://repo1.maven.org/maven2/
三、公司內部nexus倉庫,這裏就不給出了
最後創建組倉庫maven-public,以下。
組倉庫中包含了公司私服、jcenter、maven-central、本地maven-releases,本地maven-snapshots。
建立好組倉庫以後,修改setting.xml文件,添加maven倉庫鏡像,以下。
<server> <id>local</id> <username>hjzgg</username> <password>hjzgg</password> </server> <mirror> <id>local</id> <mirrorOf>central</mirrorOf> <name>localhost nexus</name> <url>http://localhost:8082/repository/maven-public/</url> </mirror>
接着修改maven項目中的pom.xml,以下。
<distributionManagement> <repository> <id>maven-releases</id> <name>Nexus Release Repository</name> <url>http://localhost:8082/repository/maven-releases/</url> </repository> <snapshotRepository> <id>maven-snapshots</id> <name>Nexus Snapshot Repository</name> <url>http://localhost:8082/repository/maven-snapshots/</url> </snapshotRepository> </distributionManagement>
若是是gradle項目,修改init.gradle文件,以下。
uploadArchives {
def nexus_credentials = [userName: "hjzgg", password: "hjzgg"]
repositories.mavenDeployer {
snapshotRepository(url: "http://127.0.0.1:8082/repository/maven-snapshots/") {
authentication(nexus_credentials)
}
repository(url: "http://127.0.0.1:8082/repository/maven-releases/") {
authentication(nexus_credentials)
}
}
}
請參考:訂閱號文章nexus安裝和配置