我做了以下poms结构:
富/ pom.xml的
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.foo</groupId>
<artifactId>art-foo</artifactId>
<packaging>pom</packaging>
<version>${global.project.version}</version>
<properties>
<global.project.version>1.0.0.0</global.project.version>
</properties>
<modules>
<module>bar</module>
</modules>
富/酒吧/ pom.xml的
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.foo.bar</groupId>
<artifactId>art-bar</artifactId>
<packaging>pom</packaging>
<parent>
<groupId>com.foo</groupId>
<artifactId>art-foo</artifactId>
<version>${global.project.version}</version>
</parent>
问题在于,当我执行mvn clean install
时,它会使构建成功,并且我不理解为什么它可以工作以及儿子如何能够获得在父级中定义的父版本属性。
此外,我已尝试将父pom编辑为以下内容:
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.foo</groupId>
<artifactId>art-foo</artifactId>
<packaging>pom</packaging>
<version>1.0.0.0</version>
<properties>
<global.project.version>1.0.0.0</global.project.version>
</properties>
<modules>
<module>bar</module>
</modules>
这次我在编译时遇到错误,这是正常的,因为儿子看不到父属性。
问题是,为什么第一次构建成功完成而第二次构建没有?
感谢。