由于工作需要,将原有的nexus2.x升级为nexus3.x,升级后创建仓库是非常方便,但是该如何将本地的jar上传到maven仓库呢?这个博主就像无头的苍蝇找了好久,才终于找到解决方案。下面描述下该怎么上传本地jar到nexus。
1、首先需要创建一个hosted类型的 repository,如下:
2、copy该repository的地址
3、配置setting,将刚才创建的repository name添加一个server
4、使用maven命令mvn deploy:deploy-file来将本地jar上传到nexus3.x
mvn deploy:deploy-file -Durl=url -DrepositoryId=repositoryId -Dfile=file -DpomFile=pom.xml -Dversion=1.0
-Durl 是指要deploy到仓库的路径
-DrepositoryId jar 包的repositoryid
-Dfile jar包的具体路径
-DpomFile jar对应的pom路径
-Dversion jar的版本
最终命令如下
mvn deploy:deploy-file -DgroupId=com.alibaba -DartifactId=dubbo -Dversion=2.8.4 -Dpackaging=jar -Dfile=D:\dubbo\2.8.4\dubbo-2.8.4.jar -Durl=http://172.20.50.200:8081/repository/maven-3rd/ -DrepositoryId=maven-3rd mvn deploy:deploy-file -DgroupId=com.alibaba -DartifactId=dubbo -Dversion=2.8.4 -Dpackaging=pom -Dfile=D:\dubbo\2.8.4\dubbo-2.8.4.pom -Durl=http://172.20.50.200:8081/repository/maven-3rd/ -DrepositoryId=maven-3rd
执行结果如下:
现在可以再仓库中看到该jar了
当然在执行命令过程中可能会遇到问题
问题一,报错Cannot deploy artifact from the local repository: D:\repository\maven\com\alibaba\dubbo\2.8.4\dubbo-2.8.4.jar。出现该问题,可能是 -Dfile配置的目录刚好是本地仓库目录,应该将该jar和pom拷贝到另外的地方,再执行上传命令
问题二: Return code is: 401, ReasonPhrase: Unauthorized.,出现这个问题很可能是-DrepositoryId配置的不对,或者是没有执行步骤3,-DrepositoryId这个必须配置刚才添加的server中的id,否则会报认证不通过。