我有以下项目结构
Main Project
--Sub Project 1
- child 1
* pom-child1
- child 2
* pom-child2
* pom-sub-project1
--Sub Project 2
* pom-sub-project2
* main project pom
我在主项目pom中定义了一些项目依赖项,并在子项目和子项目poms中引用它。但如果pom不是主要项目pom的直接孩子,我发现问题。有办法解决吗?
实施例, 主要项目pom
<packaging>pom</packaging>
<version>dev</version>
<name>parent-project</name>
..
<properties><spring-version>3.1.0.RELEASE</spring-version></properties>
儿童POM
<parent>
<groupId>com.test.pkg</groupId>
<artifactId>test-proj</artifactId>
<version>${project.version}</version>
</parent>
$ {project.version}如果不是父pom的直接子节点,则不会解析,因为没有解决任何项目依赖项。
另外,我读到了 properties-maven-plugin ,它用于从外部属性文件中读取属性。这可以用于读取依赖版本,还是可以在这种情况下使用任何其他插件/方法?
答案 0 :(得分:0)
你不能使用
${project.version}
定义父项版本,因为默认情况下子项继承父项版本。
使用有效值设置父版本,而不是使用属性。
如果您这样做,它应该有效,您不必指定子版本,因为它将从父级继承。