0%

maven | parent

关于 pomparent 的用法可以先参考

这里提供一个新的思路,就是弄一个父包,父包中只提供 pom 的版本校验,然后子包根据父包来做模块化配置。

首先,新创建两个 maven 项目,然后 apache-maven、版本库路径都一样。

父项目

父项目不需要有任何 java 文件。父项目的 pom.xml 如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
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>org.mvntest</groupId>
<artifactId>test</artifactId>
<version>1.1-SNAPSHOT</version>

<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<lombok.version>1.18.10</lombok.version>
</properties>

<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
</dependency>
</dependencies>
</dependencyManagement>

</project>

关于上面几个标签的用法,可以参考

父项目用 clean -> install

子项目

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
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>

<parent>
<groupId>org.mvntest</groupId>
<artifactId>test</artifactId>
<version>1.1-SNAPSHOT</version>
</parent>

<groupId>org.example</groupId>
<artifactId>mvn2</artifactId>
<version>1.0-SNAPSHOT</version>

<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
</properties>

<dependencies>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<!-- <version>1.18.0</version> 如果这里有版本号,那么就用子项目的版本号-->
</dependency>
</dependencies>

</project>

这样的话子项目就能利用父项目的版本号了。

请我喝杯咖啡吧~