繁体   English   中英

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

[英]How to share project dependencies among multiple projects in Maven?

我有以下项目结构

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的直接子节点,则不解析$ {project.version},因为没有解决任何项目依赖项。

另外,我读到了properties-maven-plugin ,它用于从外部属性文件中读取属性。 这可以用于读取依赖版本,还是可以在这种情况下使用任何其他插件/方法?

你不能使用

${project.version}

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM