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

 

posted @ 2020-09-30 00:44  panchanggui  阅读(919)  评论(0编辑  收藏  举报