1.概述
我们在使用seata 做分布式事务的时候,有时需要将 seata 发布到私服中,方便 修改和调整。
2.实现过程
2.1 在根目录下的pom.xml 中 增加发布配置
<distributionManagement>
<repository>
<id>jpaas-release</id>
<url>http://nexus.redxun.cn:18081/repository/jpaas-hosted/</url>
</repository>
<snapshotRepository>
<id>jpaas-snapshots</id>
<url>http://nexus.redxun.cn:18081/repository/jpaas-snapshots/</url>
</snapshotRepository>
</distributionManagement>
2.2 执行发布命令
mvn clean deploy -pl seata-spring-boot-starter -am -s D:\mvn\settings_new.xml -DaltDeploymentRepository=jpaas-release::default::http://nexus.redxun.cn:18081/repository/jpaas-hosted/ -DskipTests
这里需要指定私服仓库,否则会发布到 apache 官方的包服务器。
-
mvn clean deploy
clean:执行清理阶段,删除 target/ 目录(编译生成的文件)。
deploy:执行部署阶段,将构建好的 JAR/WAR 包上传到远程仓库(通常是 Maven 仓库如 Nexus、Artifactory) -
-pl seata-spring-boot-starter
-pl = --projects
只对指定的模块(子项目)执行操作。
这里只处理名为 seata-spring-boot-starter 的模块(通常是一个 Maven 多模块项目中的一个子模块)。 -
-am = --also-make
表示“同时构建所选模块的依赖模块”。
也就是说,如果 seata-spring-boot-starter 依赖了 seata-core、seata-spring 等模块,Maven 会自动先构建这些依赖模块,再构建目标模块。 -
-s D:\mvn\settings_new.xml
-s = --settings
指定自定义的 settings.xml 文件路径。
默认情况下,Maven 使用的是 ~/.m2/settings.xml(用户目录下)或 $MAVEN_HOME/conf/settings.xml。 -
-DaltDeploymentRepository=jpaas-release::default::http://nexus.redxun.cn:18081/repository/jpaas-hosted/
-DaltDeploymentRepository 是一个非标准但常用的 Maven 参数,用于临时覆盖默认的部署仓库。
jpaas-release:仓库 ID(在 settings.xml 中可配置认证)
default:仓库布局(一般用 default 即可,表示标准 Maven 布局)
http://nexus.redxun.cn:18081/repository/jpaas-hosted/:你要部署的目标 URL
这个参数的作用是:不使用 pom.xml 中
- -DskipTests
跳过所有测试(包括单元测试和集成测试)。
不运行 test 阶段,也不生成 surefire-reports。
2.3 seata 的包路径做了调整
之前是 io.seata
现在新版的包路径变成了
org.apache.seata
<dependency>
<groupId>org.apache.seata</groupId>
<artifactId>seata-spring-boot-starter</artifactId>
</dependency>
浙公网安备 33010602011771号