maven deploy上传本地jar至nexus

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中,如下所示


    
        central
        deployment
        bonc!@#$
    

这个-DrepositoryId要和server配置中的id相对应才可以。

3、Return code is: 405

原因就是repository的地址写错了。这个repository地址我们可以在nexus界面上可以看到。如下图。

你可能感兴趣的:(maven deploy上传本地jar至nexus)