最近部署了一个Nexus OSS 3.2的Maven仓库 但是最新版本取消了手动上传的页面
解决方案
几经百度之后 找到了方法 可以使用 mvn deploy命令进行上传操作
新建Hosted仓库
在Repositories下新建一个Hosted的仓库 或者直接用自带的仓库
配置账号密码
找到Maven的安装目录 打开 %M2_HOME%/config/settings.xml
在 servers
内添加一个服务账户配置
1 | <server> |
使用命令上传
注意: 请不要在本地Repo目录直接执行 要复制到非Repo目录才可以 不然会报错
Cannot deploy artifact from the local repository
注意: 请不要在本地Repo目录直接执行 要复制到非Repo目录才可以 不然会报错Cannot deploy artifact from the local repository
注意: 请不要在本地Repo目录直接执行 要复制到非Repo目录才可以 不然会报错Cannot deploy artifact from the local repository
- 指定绝对的坐标
1
2
3
4
5
6
7
8mvn deploy:deploy-file \
-DgroupId=com.aliyun.oss \
-DartifactId=aliyun-sdk-oss \
-Dversion=2.2.3 \
-Dpackaging=jar \
-Dfile=aliyun-sdk-oss-2.2.3.jar \
-Durl=http://192.168.0.14:8081/repository/maven-releases/ \
-DrepositoryId=id - 指定POM文件
1
2
3
4
5mvn deploy:deploy-file \
-DpomFile=aliyun-sdk-oss-2.2.3.pom \
-Dfile=aliyun-sdk-oss-2.2.3.jar \
-Durl=http://192.168.0.14:8081/repository/maven-releases/ \
-DrepositoryId=id
命令参数说明
1 | mvn deploy:deploy-file -Durl=file://C:\m2-repo \ |
- 官方文档
groupId, artifactId, version, packaging
对应POM文件的坐标 请自行百度file
指定文件的地址url
指定服务器的地址repositoryId
配置账号密码中的ID
最后 在POM中就可以直接使用这个包了
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<repositories>
<repository>
<id>local-repo</id>
<url>http://127.0.0.1:8081/repository/maven-releases/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.aliyun.oss</groupId>
<artifactId>aliyun-sdk-oss</artifactId>
<type>jar</type>
<version>2.2.3</version>
</dependency>
</dependencies>