使用依赖管理访问 Maven 属性

jac*_*ack 6 java dependency-management maven 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>
Run Code Online (Sandbox Code Playgroud)

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

<properties>
    <property1>value1</property1>
    <property2>value2</property2>
</properties>
Run Code Online (Sandbox Code Playgroud)

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

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

你能不能指导一下。

Dav*_*vid 5

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

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