Maven私服+统一切换项目版本

发布于:2025-02-10 ⋅ 阅读:(46) ⋅ 点赞:(0)

1.使用versions-maven-plugin统一切换版本

1.在sunrays-common配置
<build>
    <plugins>
        <!--多模块Maven项目统一修改版本号-->
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>versions-maven-plugin</artifactId>
            <version>2.8.1</version>
            <configuration>
                <generateBackupPoms>false</generateBackupPoms>
            </configuration>
        </plugin>
    </plugins>
</build>
2.sunrays-common 中指定当前模块的版本

CleanShot 2024-11-13 at 11.26.23@2x

3.统一更改版本为1.0-SNAPSHOT
mvn versions:set -DnewVersion=1.0-SNAPSHOT   

CleanShot 2024-11-13 at 11.30.09@2x

4.其他子模块的版本也统一切换了

CleanShot 2024-11-13 at 11.30.48@2x

2.Maven私服

1.settings.xml
  <servers>
    <!-- 配置访问私服的用户名和密码 -->
    <!-- release -->
    <server>
      <!-- 名称任意,最好是宿主仓库的名字-->
      <id>suzhu-release</id>
      <username>admin</username>
      <password>mima</password>
    </server>
    <!-- snapshots -->
    <server>
      <!-- 名称任意,最好是宿主仓库的名字-->
      <id>suzhu-snapshots</id>
      <username>admin</username>
      <password>mima</password>
    </server>
    <!-- 镜像服务器的认证配置 -->
    <server>
      <id>nexus-sifu</id> <!-- 与镜像的 <id> 保持一致 -->
      <username>admin</username>
      <password>mima</password>
    </server>
  </servers>

  <mirrors>
    <!-- 配置私服镜像,就不需要阿里云的了 -->
    <mirror>
      <!-- 镜像的唯一标识符 -->
      <id>nexus-sifu</id>

      <!-- 指定此镜像替代的仓库,这里设置为*,会捕获所有仓库的请求 -->
      <mirrorOf>*</mirrorOf>

      <!-- 镜像的名称,用于识别 -->
      <name>Nexus sifu</name>

      <!-- 镜像的 URL,指向私服的 Maven 公共仓库地址 -->
      <url>http://ip:8081/repository/maven-public/</url>
    </mirror>
  </mirrors>
2.sunrays-common中配置
<!-- 发布配置管理 -->
<distributionManagement>
    <!-- release版本 -->
    <repository>
        <!-- 与server的id一致,为了去配置中找到用户名和密码 -->
        <id>suzhu-release</id>
        <!-- 私服中suzhu-release的url -->
        <url>http://ip:8081/repository/suzhu-release/</url>
    </repository>
    <!-- snapshot版本 -->
    <snapshotRepository>
        <!-- 与server的id一致,为了去配置中找到用户名和密码 -->
        <id>suzhu-snapshots</id>
        <!-- 私服中suzhu-release的url -->
        <url>http://ip:8081/repository/suzhu-snapshots/</url>
    </snapshotRepository>
</distributionManagement>
3.发布到私服

CleanShot 2024-11-13 at 11.36.29@2x

4.快照版本发布之后会自动加一个时间戳和构建序号,用于标识具体的构建版本

CleanShot 2024-11-13 at 11.40.42@2x

5.直接在sunrays-framework下统一切换版本
1.首先sunrays-dependencies配置插件
            <!--多模块Maven项目统一修改版本号-->
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>versions-maven-plugin</artifactId>
                <version>2.8.1</version>
                <configuration>
                    <generateBackupPoms>false</generateBackupPoms>
                </configuration>
            </plugin>
2.在sunrays-framework下执行命令
mvn versions:set -DnewVersion=1.0 -DprocessAllModules=true
3.则除了sunrays-dependencies的所有模块版本都被更新为1.0