程子的博客

想得到从未得到的东西,就要去做从未做过的事

aaaaa
  menu
48 文章
23633 浏览
1 当前访客
ღゝ◡╹)ノ❤️

项目中配置 maven 私服的上传和下载

在项目中配置 maven 私服的上传和下载, 需要在 mavensettings.xml 和项目的 pom.xml 文件中进行相关配置.

1. 配置上传jar包到仓库

  • pom.xml 配置
    <distributionManagement>
        <repository>
            <!--id的名字可以任意取,但是在setting文件中的属性<server>的id必须和这里一致-->
            <id>releases</id>
            <!-- 在Nexus中找到仓库类型为hosted(宿主仓库)的储存类型为Release的仓库配置在此 -->
            <url>http://localhost:8800/repository/maven-releases/</url>
        </repository>
        <snapshotRepository>
            <id>snapshots</id>
            <!-- 在Nexus中找到仓库类型为hosted(宿主仓库)的储存类型为Snapshots的仓库配置在此 -->
            <url>http://localhost:8800/repository/maven-snapshots/</url>
        </snapshotRepository>
    </distributionManagement>
  • setting.xml 配置
  <servers>
    <server>
      <id>releases</id>  <!--对应pom.xml中repository的id-->
      <username>admin</username>
      <password>admin123</password>
    </server>
    <server>
      <id>snapshots</id> <!--对应pom.xml中snapshotRepository的id-->
      <username>admin</username>
      <password>admin123</password>
    </server>
  </servers>
  • 此时, 我们已经可以正常上传 jar 包到 maven 私服, 如果不配置 server, 会报 401 错误.
  • 我们在打包上传的时候会发现已经上传过的jar包版本号如果一致, 不允许重复上传进行修改, 此时可以在 Nexus 上面进行配置:
> 配置 -> repository -> repositories -> 选择仓库 -> 找到Hosted -> 把当前配置改为Allow redeploy -> 保存即可

2. 配置从maven仓库下载jar

  • setting.xml 配置
  <mirrors>
    <!--  我们使用maven下载需要的jar包,但是很多的时候由于中央仓库没有,所以此处可以在maven的设置中心添加多个下载仓库,当中央仓库没有的话,继续到下一个仓库去下载。这样丰富了中央仓库的下载地址。  -->
    <mirror>
      <id>nexus</id>
      <name>nexus maven</name>
      <url>http://39.105.59.135:8800/repository/maven-public/</url>
      <mirrorOf>*</mirrorOf>
    </mirror>

    <mirror>
      <id>alimaven</id>
      <name>aliyun maven</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
      <mirrorOf>central</mirrorOf>
    </mirror>

    <mirror>
      <id>repo2</id>
      <mirrorOf>central</mirrorOf>
      <name>Human Readable Name for this Mirror.</name>
      <url>http://repo2.maven.org/maven2/</url>
    </mirror>
  </mirrors>

  <servers>
    <server>
      <id>nexus</id>  <!--对应settings.xml的profile中id=nexus-->
      <username>admin</username>
      <password>admin123</password>
    </server>
  </servers>
  
  <profiles>
    <profile>
      <id>nexus</id>
      <repositories>
        <repository>
          <id>nexus</id>
          <url>http://localhost:8800/repository/maven-public/</url>
          <releases>
            <enabled>true</enabled>
          </releases>
          <snapshots>
            <enabled>true</enabled>
          </snapshots>
        </repository>
      </repositories>
      <pluginRepositories>
        <pluginRepository>
          <id>nexus</id>
          <url>http://localhost:8800/repository/maven-public/</url>
          <releases>
            <enabled>true</enabled>
          </releases>
          <snapshots>
            <enabled>true</enabled>
          </snapshots>
        </pluginRepository>
      </pluginRepositories>
    </profile>
  </profiles>

  <!-- 激活 -->
  <activeProfiles>
    <activeProfile>nexus</activeProfile>
  </activeProfiles>



标题:项目中配置 maven 私服的上传和下载
作者:chengzime
地址:https://chengzime.com.cn/articles/2021/07/06/1625558806086.html