maven deploy相关命令(样例)
mvn deploy:deploy-file -Dmaven.test.skip=true -Dfile=XCloudJDBC_v212_new.jar -DgroupId=com.bonc.xcloud -DartifactId=jdbc -Dversion=2.12 -Dpackaging=jar -DrepositoryId=nexus -Durl=https://code.bonc.com.cn/nexus/content/repositories/biDeveloment
解释
-DrepositoryId //远程库服务器ID
-Durl //远程库服务器地址
碰到的问题
1、Return code is: 400, ReasonPhrase: Bad Request
原因:上传的仓库的类型不对,必须是要Hosted的。
本地的jar只可以往Hosted类型的nexus的repository上传。这里在简单说下nexus的repository的类型
nexus里可以配置3种类型的仓库,分别是proxy、hosted、group 。
proxy是远程仓库的代理。比如说在nexus中配置了一个central repository的proxy,当用户向这个proxy请求一个artifact,这个proxy就会先在本地查找,如果找不到的话,就会从远程仓库下载,然后返回给用户,相当于起到一个中转的作用。
hosted是宿主仓库,用户可以把自己的artifact、proxy下载不到的artifact,deploy到hosted中。
group是仓库组,目的是将上述多个仓库聚合,对用户暴露统一的地址,这样用户就不需要在pom中配置多个地址,只要统一配置group的地址就可以了 。
2、-DrepositoryId 和nexus的账号密码问题
一般来讲nexus的账号密码会在settings.xml中配置,在server中,如下所示
<servers>
<server>
<id>central</id>
<username>deployment</username>
<password>bonc!@#$</password>
</server>
<servers>
这个-DrepositoryId要和server配置中的id相对应才可以。
3、Return code is: 405
原因就是repository的地址写错了。这个repository地址我们可以在nexus界面上可以看到。如下图。