IDEA运行/调试配置中的系统属性的空值

Beg*_*moT 3 intellij-idea

我希望IntellJ IDEA中的"运行"配置具有预定义的一些Java系统属性(普通且简单的任务).但由于某些原因,我需要设置一些属性来清空字符串 - 这在IDEA中并不那么容易:

-Dmy-property=abd
-Dmy-property2=
-Dmy-property3=afd
Run Code Online (Sandbox Code Playgroud)

如果我在"系统属性"输入中输入它,它将被转换为

-Dmy-property=abd
-Dmy-property2=-Dmy-property3=afd
Run Code Online (Sandbox Code Playgroud)

IDEA删除了"未使用"的空格.这是不可取的.目前我只能通过将空属性移动到列表的末尾来解决这个问题.有没有其他方法可以输入emtpy属性值?

mab*_*aba 7

我没有看到它存在问题.

我创建了一个小测试程序,即使转换属性也能正常运行.

package com.stackoverflow;

/**
 * @author maba, 2012-10-24
 */
public class Main {
    public static void main(String[] args) {
        String property = System.getProperty("my-property");
        System.out.println("property = " + property);
        String property2 = System.getProperty("my-property2");
        System.out.println("property2 = " + property2);
        String property3 = System.getProperty("my-property3");
        System.out.println("property3 = " + property3);
    }
}
Run Code Online (Sandbox Code Playgroud)

以下是IntelliJ中的以下内容:

在此输入图像描述

运行时我会得到这个输出:

property = abc
property2 = 
property3 = afd
Run Code Online (Sandbox Code Playgroud)

运行时格式化的系统属性将是正确的,因为命令行将如下所示:

"C:\Program Files\Java\jdk1.6.0_33\bin\java" -Dmy-property=abc -Dmy-property2= -Dmy-property3=afd <lots of jars> com.stackoverflow.Main
Run Code Online (Sandbox Code Playgroud)

也就是说,-Dmy-property2=将空字符串.

  • 如果你希望它看起来更好,你可以添加`""`来获取一个空字符串:`-Dmy-property2 =""`. (2认同)