使用依赖管理访问 maven 属性
Access maven property using dependency management
我正在使用 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>
我无法将 X 中定义的属性访问到项目 Y。我知道使用上述方法我无法使用插件管理,但我无法在 Web 上找到与属性相关的任何内容。
另请注意,我不能将工件 X 用作父项,因为我们已经定义了项目级父项。
能否请您指导一下。
您只能从另一个 pom 继承属性,前提是您将其声明为父级。导入类型为 import
的 pom 只会导入其依赖项,如 documentation 中所述。由于在您的情况下无法使用其他 pom 作为父级,所以让我建议一个替代方案:
codehaus Properties Maven Plugin 可以从外部文件加载 Maven 属性。它甚至可以使用 classpath:
URLs 从中加载文件。所以你可能会尝试从另一个依赖项加载它们(它应该有一个合适的 scope
因为你可能不希望那个依赖项的 JAR 在运行时挂起)。
我正在使用 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>
我无法将 X 中定义的属性访问到项目 Y。我知道使用上述方法我无法使用插件管理,但我无法在 Web 上找到与属性相关的任何内容。
另请注意,我不能将工件 X 用作父项,因为我们已经定义了项目级父项。
能否请您指导一下。
您只能从另一个 pom 继承属性,前提是您将其声明为父级。导入类型为 import
的 pom 只会导入其依赖项,如 documentation 中所述。由于在您的情况下无法使用其他 pom 作为父级,所以让我建议一个替代方案:
codehaus Properties Maven Plugin 可以从外部文件加载 Maven 属性。它甚至可以使用 classpath:
URLs 从中加载文件。所以你可能会尝试从另一个依赖项加载它们(它应该有一个合适的 scope
因为你可能不希望那个依赖项的 JAR 在运行时挂起)。