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

标签 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 中定义了一些项目依赖项,并在子项目和子项目 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/

相关文章:

java - 从基于 Spring 的 Java 应用程序创建单个可执行 JAR

ruby - 在 Ruby 中使用 require 的最佳实践是什么?

jenkins - 如何将Groovy中的集中化依赖项数组转换为Kotlin?

c++ - Crypto++ 库和依赖错误

java - 亚马逊 AWS Signature V4 Java 给出错误的编码

java - 如何将图像作为字符串转换为 PNG 文件

java - 有人可以解释这个 maven-jar-plugin 配置吗?

maven - 实现 JBehave 导航器

java - 对Integer对象进行加操作,从目录中读取多个文件以在Java中创建词袋

java - 设置文本背景颜色?