maven的倉庫分爲本地倉庫,遠程倉庫和私服倉庫。
私服倉庫通常是公司內部私有的,內部進行維護的。公司員工鏈接私服,從私服中下載jar,或者將自身的jar傳到私服上。私服還能夠從中央倉庫下載jar,當私服中沒用jar的時候,就會從中央倉庫下載。
linux
下載 Nexus,下載地址:http://www.sonatype.org/nexus/archived/ 。
能夠選擇zip和tar,分別對應windows和linux。web
將下載的zip解壓,使用cmd進入bin目錄,執行命令:windows
nexus.bat install
執行命令:app
nexus.bat uninstall
一、cmd進入目錄,執行命令webapp
nexus.bat start
二、在服務中找到nexus,右鍵啓動maven
查看 nexus 的配置文件conf/nexus.properties
application-port=8081 # nexus 的訪問端口配置
application-host=0.0.0.0 # nexus 主機監聽配置(不用修改)
nexus-webapp=${bundleBasedir}/nexus # nexus 工程目錄
nexus-webapp-context-path=/nexus # nexus 的 web 訪問路徑
nexus-work=${bundleBasedir}/../sonatype-work/nexus # nexus 倉庫目錄
runtime=${bundleBasedir}/nexus/WEB-INF # nexus 運行程序目錄url
http://localhost:8081/nexus/
點擊右上角log in,輸入用戶名和密碼
默認是admin/admin123
登陸完畢
插件
在maven的setting.xml中配置code
<server> <id>releases</id> <username>admin</username> <password>admin123</password> </server> <server> <id>snapshots</id> <username>admin</username> <password>admin123</password> </server>
配置項目的pom文件server
<distributionManagement> <repository> <id>releases</id> <url>http://localhost:8081/nexus/content/repositories/releases/</url> </repository> <snapshotRepository> <id>snapshots</id> <url>http://localhost:8081/nexus/content/repositories/snapshots/</url> </snapshotRepository> </distributionManagement>
使用deploy命令便可將jar發佈到私服,發佈工程中的version,若是以snapshot結尾,則能夠發佈到快照倉庫,若是以release結尾,則能夠發佈到releases版本。
在setting中配置私服倉庫
<profile> <!--profile 的 id--> <id>dev</id> <repositories> <repository> <!--倉庫 id,repositories 能夠配置多個倉庫,保證 id 不重複--> <id>nexus</id> <!--倉庫地址,即 nexus 倉庫組的地址--> <url>http://localhost:8081/nexus/content/groups/public/</url> <!--是否下載 releases 構件--> <releases> <enabled>true</enabled> </releases> <!--是否下載 snapshots 構件--> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories> <pluginRepositories> <!-- 插件倉庫,maven 的運行依賴插件,也須要從私服下載插件 --> <pluginRepository> <!-- 插件倉庫的 id 不容許重複,若是重複後邊配置會覆蓋前邊 --> <id>public</id> <name>Public Repositories</name> <url>http://localhost:8081/nexus/content/groups/public/</url> </pluginRepository> </pluginRepositories> </profile>
激活
<activeProfiles> <activeProfile>dev</activeProfile> </activeProfiles>