文章目錄
(一)私服的安裝和啓動
(二)私服的應用
(三)安裝第三方jar包到本地倉庫
(四)安裝第三方jar包到私服
(一)私服的安裝和啓動
把nexus-2.12.0-01-bundle.zip壓縮解壓到一個合法路徑下即可,如下:
使用管理員權限打開PS,運行nexus.bat進行安裝,如下:
輸入.\nexus.bat install
命令進行安裝,如下:
輸入.\nexus.bat start
命令進行啓動,如下:
因爲私服只支持JDK1.8,而我的環境變量默認是JDK1.9,需要打開配置文件做修改,如下:
(將 java 修改爲 自己的jdk目錄下的bin路徑 + \java )
打開另一個配置文件,如下:
我們得知IP地址、端口號以及虛擬路徑,可以進行訪問,如下:
點擊右上角的log in
進行登錄,默認用戶名是admin,密碼是admin123,如下:
可以在可視化頁面點擊左側的Repositories查看本地倉庫
因爲我們這次的私服是直接部署在本地,所以直接打開sonatype-work也可以
名詞解析:
- 3rd party:第三方
- Releases:私服的正式版
- Snapshots:私服的測試版
- Central:中央倉庫,是代理的一種(最常用)
- Apache Snapshots:也是一種中央倉庫
- Central M1 shadow:已經不再使用了,是最早期的中央倉庫
group類型的倉庫是我們以後要經常使用的,如下:
我們只要定義了一個group類型的倉庫,就可以實現jar包自動下載
jar包下載順序:私服的正式版倉庫、私服的測試版倉庫、第三方倉庫、中央倉庫、阿帕奇倉庫(順序可調整)
輸入.\nexus.bat uninstall
進行卸載,如下:
(二)私服的應用
我們之前是對父工程執行了install命令,把maven_dao、maven_service和maven_controller都打包上傳到本地倉庫,我們其實也可以上傳到遠程倉庫(私服)
我們要先配置私服信息(登錄相關的信息),如下:
<server>
<id>releases</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>snapshots</id>
<username>admin</username>
<password>admin123</password>
</server>
我們以上傳maven_dao爲例,接下來編輯maven_dao的pom.xml文件,如下:
<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>
對maven_dao執行deploy命令,打包上傳到私服,如下:
效果如下:
注意:deploy是maven生命週期的最後一站,執行了deploy就代表前面的所有命令都執行了一遍,也就代表install也被執行了,所以執行了deploy不僅僅把maven_dao打包上傳到遠程倉庫(私服),也同時打包上傳到了本地倉庫,如下:
注意:之所以本地倉庫會有四個,是因爲上一篇博客對maven_parent父工程執行了install
接下來把本地倉庫的maven_dao刪掉,試試能否從遠程倉庫下載maven_dao,如下:
注意:我們不能運行maven_parent,要運行maven_controller,只有它纔會有依賴
效果如下:
可以看到是無法自動從遠程倉庫下載的,說明下載和上傳的配置是不一樣的,接下來配置下載,如下:
<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>
此時再次運行,就可以從遠程倉庫下載jar包了,如下:
可以看到又下載回本地倉庫了
運行效果如下:
(三)安裝第三方jar包到本地倉庫
其實之前就曾經安裝過一次:maven不能加載ojdbc14.jar的解決方法
第一種方法:打開cmd直接運行
mvn install:install-file -DgroupId=com.alibaba -DartifactId=fastjson -Dversion=1.1.37 -Dpackaging=jar -Dfile=F:\fastjson-1.1.37.jar
第二種方法:進入jar包所在目錄運行
mvn install:install-file -DgroupId=com.alibaba -DartifactId=fastjson -Dversion=1.1.37 -Dfile=fastjson-1.1.37.jar -Dpackaging=jar
之前安裝ojdbc14.jar時已經演示過第一種方法了,下面演示第二種方法,如下:
以管理員權限打開CMD,進入到jar包所在目錄,如下:
效果如下:
(四)安裝第三方jar包到私服
第三方jar包要安裝到thirdparty,如下:
首先打開maven的配置文件,配置第三方倉庫信息,如下:
第一種方法:打開cmd直接運行
mvn deploy:deploy-file -DgroupId=com.alibaba -DartifactId=fastjson -Dversion=1.1.37 -Dpackaging=jar -Dfile=F:\fastjson-1.1.37.jar -Durl=http://localhost:8081/nexus/content/repositories/thirdparty/ -DrepositoryId=thirdparty
第二種方法:進入jar包所在目錄運行
mvn deploy:deploy-file -DgroupId=com.alibaba -DartifactId=fastjson -Dversion=1.1.37 -Dpackaging=jar -Dfile=fastjson-1.1.37.jar -Durl=http://localhost:8081/nexus/content/repositories/thirdparty/ -DrepositoryId=thirdparty
其實兩種方法都差不多,下面演示第一種,如下:
效果如下: