gpt4 book ai didi

java - 如何从 pom.xml 获取属性值?

转载 作者:搜寻专家 更新时间:2023-11-01 03:37:30 25 4
gpt4 key购买 nike

我在我的 pom.xml 中添加了一个节点:

<properties>
<getdownload-webapp.version>1.5</getdownload-webapp.version>
</properties>

我如何在代码中获得这个 1.5 的值?

String version = System.getProperty("getdownload-webapp.version"); // output version = null

这段代码在运行时给了我空值(

ps:本项目中没有settings.xml

最佳答案

所以你有这样的属性(property)。

<properties>
<getdownload-webapp.version>1.5</getdownload-webapp.version>
</properties>

在您的 Maven 项目中创建如下文件。

  src/main/resources/project.properties

如果仅用于测试,则如下所示。

  src/test/resources/project.properties

在新文件中添加这一行。请注意,您不应使用“properties”作为前缀(例如,不要写“properties.getdownload-webapp.version”)。

  version=${getdownload-webapp.version}

请注意,您也可以将这样的标志添加到文件中。

  debug=false

如果尚未完成,您必须为您的项目启用 Maven 过滤。该功能将在项目文件中查找占位符,以将其替换为 pom.xml 中的值。为了继续,您需要在 <build> 中添加这些行pom.xml 文件的标签。这是如何处理 src/main:

<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
...

下面是如何为 src/test 做的:

<build>
<testResources>
<testResource>
<directory>src/test/resources</directory>
<filtering>true</filtering>
</testResource>
</testResources>
...

最后,在您的源代码 ( MyClassName.java ) 中,添加一个 block ,例如

  Properties props = new Properties();
props.load(MyClassName.class.getClassLoader().getResourceAsStream("project.properties"));
String version = props.getProperty("version");

您可以向 project.properties 添加任意数量的变量文件并使用此方法加载每个文件。

关于java - 如何从 pom.xml 获取属性值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26404343/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com