java - Java 中读取的 POM XML 属性变为 null

标签 java maven

我在 Netbeans 中设置了一个基本的 Maven Java 项目。我在 POM.xml 文件中创建了一个新属性,并尝试在我的代码中读取它。但是,我不断得到空值而不是值。我做错了什么?

POM.XML:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>com.test</groupId>
        <artifactId>Test</artifactId>
        <version>1.0</version>
    </parent>
    <artifactId>Test</artifactId>
    <packaging>jar</packaging>
    <properties>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
        <system>ABC</system>
    </properties>
</project>

代码:

package com.test.Test;
public class Test {
    public static void main(String[] args) {
        System.out.println("Creating connection to " + System.getProperty("system") + "...");
    }
}

最佳答案

与Maven无关。

您应该将其设置为 JVM 参数。然后您将能够将它们读取为 System.getProperty()

例如,在 Eclipse 中,您可以在此处的菜单中找到它:

运行 --> 运行配置... --> 参数 --> VM 参数 --> 在那里添加您的属性(不要忘记应用您的更改):

-Dsystem=ABC

将导致System.getProperty("system")返回ABC

关于java - Java 中读取的 POM XML 属性变为 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44213832/

相关文章:

java - Spring 属性查找/优先级如何工作?

java - 避免使用keycloak默认登录页面并使用项目登录页面

java - 非 maven jar 依赖项在 pom.xml maven 中给出错误

java - maven project 和 sbt project and play framework 是否考虑共享一个存储库?

java - 异常线程 "main"java.lang.ArrayIndexOutOfBoundsException : 1000000 at problem2. main(problem2.java:17)

java - 在命令提示符或 Eclipse 中制作 java 项目(带有一些类)的 .jar 文件?

java - 无法使用 Intent.FLAG_ACTIVITY_NEW_TASK

java - SmbException 无法使用 Java 中的正确凭据连接主机名/IP 地址抛出异常

java - Selenium 中的线程 "main"java.lang.NullPointerException 中出现异常

java - maven-compiler-plugin 3.2编译错误: cannot find symbol