nexus上进行第三方jar的上传
Nexus3.x.x上传第三方jar:
1.create repository
选择maven2(hosted),这里的Repository的type属性有:proxy,hosted,group三种
proxy:即你可以设置代理,设置了代理之后,在你的nexus中找不到的依赖就会去配置的代理的地址中找
hosted:你可以上传你自己的项目到这里面
group:它可以包含前面两个,是一个聚合体。一般用来给客户一个访问nexus的统一地址。
简单的说,就是你可以上传私有的项目到hosted,以及配置proxy以获取第三方的依赖(比如可以配置中央仓库的地址)。前面两个都弄好了之后,在通过group聚合给客户提供统一的访问地址。
新建的reposity如下
2.赋权
修改maven安装目录下的/conf/settings.xml文件,添加serve如下
<servers>
<server>
<id>3rdParty</id>
<username>admin</username>
<password>admin123</password>
</server>
</servers>
3.上传jar
第一种方式:直接上传jar
如果已经有了jar包,可以通过下面的命令直接上传,cmd中输入下列命令
mvn deploy:deploy-file -DgroupId=xxx.xxx -DartifactId=xxx -Dversion=0.0.2 -Dpackaging=jar -Dfile=D:\xxx.jar -Durl=http://xxx.xxx.xxx.xxx:8081/repository/3rdParty/ -DrepositoryId=3rdParty
其中-DgroupId 为上传的jar的groupId
-DartifactId 为上传的jar的artifactId
-Dversion 为上传的jar的需要被依赖的时候的版本号
然后是-Dpackaging为jar,-Dfile为jar包路径
-Durl 为要上传的路径,可以通过以下方式获取到
-DrepositoryId 为repository的唯一标示,跟第二步中赋权配置的server相同
第二种方式:直接将项目发布到仓库中
在项目的pom.xml中加入下面的配置:
<distributionManagement>
<repository><id>3rdParty</id>
<name>3rdParty Repository</name>
<url>http://xxx.xxx.xxx.xxx:8081/repository/3rdParty/</url>
</repository>
</distributionManagement>
id为要上传的repository的唯一标示,url为要上传的repository的路径
然后在pom.xml文件所在文件夹打开cmd窗口输入mvn deploy即可
操作过程中遇到的坑:1、在配置文件中必须要申明库的名字和用户名密码;2、计划上传的jar不能再本地的maven库中,必须要拷到其他的目录下面(路径),如果这样操作的话,会爆出
正如异常报错提示的那样:Cannot deploy artifact from the local repository,因为本机的local Repository正是在e: epository如上错误;3、报出code为401或403,是远程库授权的问题;code为405时,是远程路径写的有问题;