Maven 如何發布 jar 包到 Nexus 私庫


Nexus2可以通過管理界面來上傳jar包到私庫中,而最新的Nexus3卻找不到了上傳界面,只能通過以下方式來發布到私庫。

發布第三方jar包

這種情況是maven遠程倉庫沒有,本地有的第三方jar包,需要發布到私庫。

mvn deploy:deploy-file -DgroupId=com.example -DartifactId=test -Dversion=0.0.1 -Dpackaging=jar -Dfile=E:\workspace\test\WebRoot\WEB-INF\lib\test-0.0.1.jar -Durl=http://nexus.example.com:8081/repository/3rd-repo/ -DrepositoryId=Nexus 

注意file的目錄不能和本地倉庫目錄一致,不然會報錯。

發布自有項目

公司自己的項目需要發布到Nexus私庫提供給其他人依賴,這時可以用上面的方式先打成jar包再發布,也可以使用maven的eclipse插件。

添置maven pom配置:

<distributionManagement> <repository> <id>Nexus</id> <name>Releases</name> <url>http://nexus.example.com:8081/repository/maven-releases</url> </repository> <snapshotRepository> <id>Nexus</id> <name>Snapshot</name> <url>http://nexus.example.com:8081/repository/maven-snapshots</url> </snapshotRepository> </distributionManagement> 

再在eclipse項目上使用Run As..>Maven build..,在Goals里面輸入deploy發布即可。

Maven settings配置

以上兩點其中Nexus指的是maven server的id,大小寫敏感,增加以下配置。

<servers> <server><id>Nexus</id> <username>admin</username> <password>admin123</password> </server> </servers> 

關於Maven的使用及私庫的搭建可以翻閱之前的Maven精選系列文章。

 

 

 

 

=========================================================================

使用命令上傳第三方jar到nexus

 

示例:

上傳一個處理word的jar包到nexus上。

jar包為jacob

我們先在nexus上搜索一下:下面是搜不出來的

 

 

步驟1:

把hosted資源庫,也配置到maven的settting.xml文件中

添加下面:

<!--id自定義,但是在使用命令上傳的時候會用到-->
<server> <id>myself_hosted</id> <username>admin</username> <password>admin123</password> </server>

到目前為止,我的settting.xml文件也就是下面這些東西

 

 

 步驟2:

 使用

以下命令

mvn deploy:deploy-file -DgroupId=sxd.jar -DartifactId=jacob -Dversion=1.18 -Dpackaging=jar -Dfile=G:\jar\jacob-1.18.jar -Durl=http://localhost:8081/repository/myself_hosted/ -DrepositoryId=myself_hosted

命令解釋:

-DgroupId=sxd.jar                           自定義
-DartifactId=jacob                          自定義
-Dversion=1.18                            自定義  三個自定義,構成pom.xml文件中的坐標
-Dpackaging=jar                           上傳的類型是jar類型
-Dfile=G:\jar\jacob-1.18.jar                   jar的本地磁盤位置
-Durl=http://localhost:8081/repository/myself_hosted/    hosted資源庫的地址,下圖中
-DrepositoryId=myself_hosted                   setting.xml文件中配置的ID

 

 

 

 上傳完成,再nexus中查看一下:

 

 

上傳成功!!!

步驟3:

在項目的pom.xml文件中引入一下jar包

     <dependency>
            <groupId>sxd.jar</groupId>
            <artifactId>jacob</artifactId>
            <version>1.18</version>
            <scope>provided</scope>
        </dependency>

保存pom.xml文件。

這下,發現maven下已經引入成功。並且已經將這個jar包放入本地maven倉庫了。

 

 

 

 

===============================================

 

mvn deploy:deploy-file -DgroupId=sjht-e-iceblue -DartifactId=spire.xls.free -Dversion=2.2.0 -Dpackaging=jar -Dfile=C:\Users\panchanggui\Desktop\spire.xls.free-2.2.0.jar -Durl=http://203.195.xxx.xx:8081/nexus/content/repositories/thirdparty/ -DrepositoryId=sjht_nexus_hosted

 

mvn deploy:deploy-file -DgroupId=com.sdt.sccs -DartifactId=sdt-cryptohl -Dversion=1.4.1.0 -Dpackaging=jar -Dfile=D:\workspace\my\ideaProjects\fdt-demo\src\main\resources\lib\sdt-cryptohl-1.4.1.0.jar -Durl=http://{{ip}}:13237/repository/maven-releases/ -DrepositoryId=maven-releases

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM