如何在Maven中的多个项目之间共享项目依赖关系?

时间:2016-04-06 12:09:34

标签: java maven dependencies pom.xml

我有以下项目结构

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 ,它用于从外部属性文件中读取属性。这可以用于读取依赖版本,还是可以在这种情况下使用任何其他插件/方法?

1 个答案:

答案 0 :(得分:0)

你不能使用

${project.version}

定义父项版本,因为默认情况下子项继承父项版本。

使用有效值设置父版本,而不是使用属性。

如果您这样做,它应该有效,您不必指定子版本,因为它将从父级继承。