问题描述
您好,之前看了您关于maven的一个回答和我目前遇到的问题有点类似,我先简单描述下。
我们一个maven聚合项目目录结构大概是这样:
- parent
-module-common
-module-sdk
其中sdk、common的版本和父pom版本保持一致,sdk中引用了common的依赖(在父pom中利用${project.version}和父pom版本保持一致),如何更好的升级子模块sdk的版本?
问题出现的平台版本及自己尝试过哪些方法
方案一:目前我们采用整体升级版本的方式,通过升级parent pom的版本,进行统一升级。
存在的问题:每次改动,所有parent 、common、sdk版本都升级了。
相关代码
主pom的配置
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.smaple</groupId>
<artifactId>smaple-parent</artifactId>
<name>${project.artifactId}</name>
<version>1.0.11-RELEASE</version>
<packaging>pom</packaging>
<dependencyManagement>
<dependencies>
<!-- project module -->
<dependency>
<groupId>com.smaple</groupId>
<artifactId>smaple-sdk</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.smaple</groupId>
<artifactId>smaple-common</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
</project>
common pom配置
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>smaple-parent</artifactId>
<groupId>com.smaple</groupId>
<version>1.0.11-RELEASE</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>smaple-common</artifactId>
<name>smaple-common</name>
<packaging>jar</packaging>
</project>
sdk pom配置
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>smaple-parent</artifactId>
<groupId>com.smaple</groupId>
<version>1.0.11-RELEASE</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>smaple-sdk</artifactId>
<name>smaple-sdk</name>
<dependencies>
<dependency>
<groupId>com.souche</groupId>
<artifactId>fin-repayment-common</artifactId>
</dependency>
</dependencies>
</project>
希望答主能分享下经验,如何更优雅的升级子版本。