我想从项目xpom文件导入属性到我的项目xpom中,例如库版本。我不想让项目X成为我的项目的父项目。
我已经尝试将项目x的pom作为导入包含在依赖项管理部分中。
<dependency>
<groupId>abc</groupId>
<artifactId>def</artifactId>
<version>1.1</version>
<type>pom</type>
<scope>import</scope>
</dependency>
请建议。谢谢。
我想,今天,答案是NO。如果没有继承,就不能从外部依赖中读取属性。
然而,一个hack可以用codehaus Properties Maven Plugin完成。实际上,它可以从外部文件加载maven属性。它甚至可以使用classpath: url来加载文件。因此,您可以尝试从另一个依赖项(应该有一个适当的作用域,因为您可能不希望该依赖项的JAR在运行时挂起)加载这些。共享依赖版本而不使用父POMs的通常方法是bom。
这些是单独的项目,仅包含由<dependencyManagement>
组成的pom.xml
。然后可以使用<scope>import</scope>
将其导入到其他几个项目中。
这些其他项目然后在BOM中导入dependencyManagement。
基本上,您需要创建由两个项目导入的父窗体。
- 父节点有一个
<dependencyManagement>
节,其中列出了groupId、artifactId和版本 - 子节点只需要列出groupId和artifactId,因为版本是从父节点的
<dependencyManagement>
节继承的
,
root/pom.xml - Builds all modules, a simple pom with a `<modules>` section which includes parent, project1 and project2
root/parent/pom.xml - This has a `<dependencyManagement>` section
root/project1/pom.xml - parent=../parent/pom.xml
root/project2/pom.xml - parent=../parent/pom.xml
更多信息在这里