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