【Maven】与私服有关的本地操作(上传、拉取jar包;版本发布)

《私有仓库搭建步骤》

②点说明

说明1:以下操作无前后关系

  • 配置自动部署
  • 手动上传jar包
  • 拉取上传的jar包

说明2:私服中 public 仓库相当于 releasessnapshots 的映射,发布到这俩仓库中的jar包在public中都能看到。(对外相当与代理仓库)

 

 配置自动部署(快照/发行版)

1、在本地 maven 的 settings.xml 文件中添加 nexus 认证信息(servers节点下)。

<servers>
    <server>
        <id>maven-snapshots</id>
        <username>admin</username>
        <password>admin123</password>
    </server>
    <server>
        <id>maven-releases</id>
        <username>admin</username>
        <password>admin123</password>
    </server>
</servers>

(安装可不看)snapshots 与 releases 的说明

2、pom.xml 中添加如下配置

<!--私服仓库-->
<distributionManagement>
    <repository>
        <id>maven-releases</id>
        <url>http://127.0.0.1:7001/repository/maven-releases/</url>
    </repository>
    <snapshotRepository>
        <id>maven-snapshots</id>
        <url>http://127.0.0.1:7001/repository/maven-snapshots/</url>
    </snapshotRepository>
</distributionManagement>

  说明:id 必须与 maven 配置文件中 servers 节点下的 server  id 一致。才能调用账号/密码请求成功。url 为私有仓库地址,可以从 nexus 中获得。

手动上传jar包(使用maven命令)

mvn deploy:deploy-file -DgroupId=com.test -DartifactId=cloud -Dversion=1.0.1-RELEASE -Dpackaging=jar -Dfile=D:/gateway.jar -Durl=http://127.0.0.1:7001/repository/maven-releases/ -DrepositoryId=maven-releases

参数说明:
mvn deploy:deploy-file
    -DgroupId=xxxxxx 就相当于pom中的groupId
    -DartifactId=xxxxxx 就相当于pom中的artifactId
    -Dversion=xxxxxx 就相当于pom中的版本号version
    -Dpackaging=xxxxxx 就相当于pom中打包方式
    -Dfile=xxxxxx 本地环境
    -Durl=xxxxxx 上传的url
    -DrepositoryId=xxxxxx 对应的是setting.xml 里边的id

 从私服拉取jar包(配置代理仓库)

  说明:需要从私服拉去jar包的配置如下

<!--代理仓库-->
<
repositories> <repository> <id>nexus3</id> <url>http://127.0.0.1:7001/repository/maven-public/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>nexus3</id> <url>http://127.0.0.1:7001/repository/maven-public/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </pluginRepository> </pluginRepositories> <!--导入依赖--> <dependencies> <dependency> <groupId>com.test</groupId> <artifactId>cloud</artifactId> <version>1.0.1-RELEASE</version> </dependency> </dependencies>
原文地址:https://www.cnblogs.com/humor-bin/p/12790180.html