首页 > 解决方案 > 如何在java中获取父pom属性?

问题描述

我在父 pom 中有一个属性

<properties>
    <firefoxVersion>68</firefoxVersion>
    <chromeVersion>71</chromeVersion>
</properties>

我需要从 java 中的子项目访问它,例如 getProperty("firefoxVersion") 但它返回 null。我使用了 MavenXPP3 Reader,并且能够读取子 pom.xml 中声明的属性。

model.getProperties().getProperty("firefoxVersion")

标签: javamavenpom.xmlparent-pom

解决方案


如果你想使用 maven 模型,你可以使用它的路径加载 pom 文件并获取属性。

如下所示:

BufferedReader in = new BufferedReader(new FileReader("Path_To_Your_Parent_pom.xml"));
MavenXpp3Reader reader = new MavenXpp3Reader();
Model model = reader.read(in);
String property = model.getProperties().getProperty("Property_Name_Here");

推荐阅读