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 强制刷新远程依赖缓存
相关推荐
掘金_答案2 小时前
上线那天,一个 ConcurrentHashMap 差点送走我的 AI 客服——3 天排查 JVM 血泪史
java·后端·架构
MindUp2 小时前
企业网盘权限模型解析:多层级访问控制与审计能力选型指南
java·linux·运维
NG4772 小时前
【软件设计与体系结构】-策略设计模式
java·设计模式·软件工程
程序员天天困3 小时前
优雅记录操作日志:从注解到 SpEL 的全链路实践与开源方案对比
java·后端
Elasticsearch3 小时前
用 Elasticsearch 的 RRF 融合检索,把矿物鉴定准确率从 36% 拉到 92%
elasticsearch
Elasticsearch3 小时前
景枢:基于 Elastic AI Agent Builder 的多景区购票智能运维中枢技术解析
elasticsearch
战血石LoveYY3 小时前
Integer类型超限,导致数据异常
java·算法
乐观的Terry5 小时前
1、为什么要自己造发布系统
java·spring boot·后端·spring cloud·架构
兰令水5 小时前
hot100【acm版】【2026.7.13打卡-java版本】
java·开发语言·数据结构·算法·leetcode·面试