我有以下项目结构
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 中定义了一些项目依赖项,并在子项目和子项目 pom 中引用它。但如果 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 的内容,它用于从外部属性文件读取属性。这可以用于读取依赖版本吗?或者是否有其他插件/方法可以在这种情况下使用?
最佳答案
您不能使用
${project.version}
定义您的 parent 版本,因为 child 默认继承 parent 版本。
使用有效值而不是属性设置父版本。
如果您这样做,它应该可以工作,并且您不必指定子版本,因为它将从父版本继承。
关于java - Maven中如何共享多个项目之间的项目依赖关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36450715/