我在我的 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/