Maven版本升级&Nexus推送极简执行步骤

Maven版本升级&Nexus推送极简执行步骤

一、本地Maven必备配置(settings.xml)

固定配置,用于拉取私服依赖、推送私服构件

xml 复制代码
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
    <pluginGroups/>
    <proxies/>
    <mirrors/>
    <profiles>
        <profile>
            <id>cisdi</id>
            <repositories>
                <repository>
                    <id>cloud</id>
                    <url>http://localhost:8080/repository/maven-public/</url>
                    <releases><enabled>true</enabled></releases>
                    <snapshots><enabled>true</enabled></snapshots>
                </repository>
                <repository>
                    <id>spring</id>
                    <url>https://maven.aliyun.com/repository/spring</url>
                    <releases><enabled>true</enabled></releases>
                    <snapshots><enabled>true</enabled></snapshots>
                </repository>
            </repositories>
            <pluginRepositories>
                <pluginRepository>
                    <id>cloud</id>
                    <url>http://localhost:8080/repository/maven-public/</url>
                    <releases><enabled>true</enabled></releases>
                    <snapshots><enabled>true</enabled></snapshots>
                </pluginRepository>
                <pluginRepository>
                    <id>spring</id>
                    <url>https://maven.aliyun.com/repository/spring</url>
                    <releases><enabled>true</enabled></releases>
                    <snapshots><enabled>true</enabled></snapshots>
                </pluginRepository>
            </pluginRepositories>
        </profile>
    </profiles>
    <activeProfiles>
        <activeProfile>cisdi</activeProfile>
    </activeProfiles>
    <servers>
        <server>
            <id>cloud</id>
            <username>Nexus账号</username>
            <password>Nexus密码</password>
        </server>
    </servers>
</settings>

二、项目Pom固定推送配置(所有模块统一)

xml 复制代码
<repositories>
    <repository>
        <id>cloud</id>
        <name>Nexus cisdigital</name>
        <url>http://localhost:8080/repository/maven-public/</url>
        <releases><enabled>true</enabled></releases>
        <snapshots><enabled>true</enabled></snapshots>
    </repository>
</repositories>

<distributionManagement>
    <repository>
        <id>cloud</id>
        <url>http://localhost:8080/repository/maven-releases/</url>
    </repository>
    <snapshotRepository>
        <id>cloud</id>
        <url>http://localhost:8080/repository/maven-snapshots/</url>
    </snapshotRepository>
</distributionManagement>

三、版本升级强制规则

  • Release正式包禁止同版本覆盖 ,必须版本号末尾 +1 升级
  • 升级前先访问 maven-public 查看线上最新版本,确认升级基线
  • 升级需同步:根pom + 所有子模块pom + parent依赖版本 + system公共依赖版本
  • 全程命令行部署,禁止Nexus手动Upload上传

四、完整极简执行步骤

1. 拉取代码到本地

Plain 复制代码
git clone 项目地址

2. 版本号+1升级

修改顺序:system模块根pom → system子模块pom → biz模块根pom → biz子模块pom,统一升级版本号、同步parent依赖、system公共依赖版本。

3. 提交代码到Git

Plain 复制代码
git add .
git commit -m "版本号+1升级"
git push

4. 构建发布(严格顺序:先system、后biz)

4.1 顶层 system 模块
Plain 复制代码
cd imc-device-system
mvn clean install -Dmaven.test.skip=true -B
mvn deploy -Dmaven.test.skip=true -B
4.2 业务 biz 模块
Plain 复制代码
cd ../imc-device-biz
mvn clean install -Dmaven.test.skip=true -B
mvn deploy -Dmaven.test.skip=true -B

五、核心流程说明

  • 先install:本地缓存jar/pom,解决父子工程、模块循环依赖编译报错
  • 后deploy:自动区分Release/Snapshot推送对应私服仓库
  • 流水线/Docker构建可追加参数:-U 强制刷新远程依赖缓存
相关推荐
plainGeekDev6 小时前
工厂模式 → Hilt
android·java·kotlin
plainGeekDev6 小时前
Application 单例 → Hilt Singleton
android·java·kotlin
888CC++7 小时前
C语言与C++的区别:从面向过程到面向对象
java·c语言·c++
学者猫头鹰8 小时前
分布式事务实战教程
java·分布式
heimeiyingwang8 小时前
【架构实战】Kubernetes调度器深度剖析:从Pod调度到自定义调度器
java·架构·kubernetes
Elasticsearch9 小时前
使用 Gemma、Hugging Face 和 Elasticsearch 构建 RAG 系统
elasticsearch
Elasticsearch10 小时前
使用 NVIDIA NeMo Retriever、Unstructured 和 Elasticsearch 处理非结构化数据
elasticsearch
纳兰青华10 小时前
回文侦探:三种境界破解最长回文子串
java·算法·动态规划
Zane199411 小时前
CAS 与原子类:Java 如何实现无锁编程
java·后端