# 发布 jar 到远程仓库

  • [x] 配置远程仓库可重新发布
  • [x] 配置用于发布jar的用户名/密码
  • [x] 配置用户的权限
  • [x] 配置settings.xml
  • [x] 配置pom.xml

# 1. 配置远程仓库为 redeploy

maven-release/meaven-snapshots 都要设置

redeploy

# 2. 新建角色,用于上传 jar 文件

role-view

TIP

注意是 view,而不是 admin

# 3. 创建拥有上传权限的用户

deploy-user

# 4. 配置 settings.xml

<servers>
  <server>
    <id>nexus-vmware-releases</id>
    <username>dep</username>
    <password>dep123</password>
  </server>
  <server>
    <id>nexus-vmware-snapshots</id>
    <username>dep</username>
    <password>dep123</password>
  </server>
</servers>

# 5. pom.xml

<distributionManagement>
  <repository>
    <id>nexus-vmware-releases</id>
    <name>Packaging Release Repository</name>
    <url>http://42.56.90.105:8285/repository/maven-releases/</url>
  </repository>
  <snapshotRepository>
    <id>nexus-vmware-snapshots</id>
    <name>Packaging Snapshot Repository</name>
    <url>http://42.56.90.105:8285/repository/maven-snapshots/</url>
  </snapshotRepository>
</distributionManagement>

# 6. 执行 deploy 命令

在maven项目中跳过测试(编译,但不运行),部署项目

mvn deploy -DskipTests

手动上传 jar 文件的命令

mvn deploy:deploy-file  \
-Dfile=cicoding-0.0.1-snapshots.jar \
-DgroupId=com.alipay \
-DartifactId=sdk-java \
-Dversion=0.0.1-SNAPSHOT \
-Dpackaging=jar \
-DrepositoryId=nexus-vmware-snapshots \
-Durl=http://192.168.4.4:8081/repository/maven-snapshots/

命令说明

参数 说明
-Dmaven.test.skip=true 跳过编译、测试
-Dfile=E:\jar\alipay-sdk-java20170324180803.jar jar 包文件地址,绝对路径
-DgroupId=com.alipay gruopId,可自定义
-DartifactId=sdk-java artifactId,可自定义
-Dversion 版本号
-Dpackaging 打包方式
-DrepositoryId 远程库服务器 ID
-Durl 远程库服务器地址

# repositoryId

repositoryId要和settings.xml文件配置server要对应.否则会因为权限问题上传不了