使用依赖关系管理访问maven属性

时间:2018-06-05 11:11:41

标签: java maven dependency-management maven-dependency

我正在使用maven的依赖管理将POM导入我的项目Y,如下所示:

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>com.abc</groupId>
            <artifactId>X</artifactId>
            <version>1.0</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

我的工件X具有以下属性,我想在项目Y的POM中访问:

<properties>
    <property1>value1</property1>
    <property2>value2</property2>
</properties>

我无法访问项目Y中的X中定义的属性。我知道使用上述方法我无法使用插件管理,但我无法在网络上找到与属性相关的任何内容。

另请注意,我不能将工件X用作父项,因为我们已经定义了项目级父项。

请你指导一下。

1 个答案:

答案 0 :(得分:2)

如果您将其声明为父级,则只能从其他pom继承属性。导入类型为import的pom仅导入其依赖项,如documentation中所述。由于在您的情况下不能使用其他pom作为父母,所以让我建议一个替代方案:

codehaus Properties Maven Plugin可以从外部文件加载maven属性。它甚至可以使用classpath:个URL来加载文件。所以你可能会尝试从另一个依赖项加载那些依赖项(它应该有一个合适的scope,因为你可能不希望那个依赖项的JAR在运行时挂起来。)