为啥Java使用-D来表示系统属性?

Posted

技术标签:

【中文标题】为啥Java使用-D来表示系统属性?【英文标题】:Why does Java use -D to indicate system properties?为什么Java使用-D来表示系统属性? 【发布时间】:2011-08-13 02:22:29 【问题描述】:

为什么在 Java 中指示系统属性的标志是 -D?这个字母选择肯定有一些语义,但我猜不出它是什么。

【问题讨论】:

我猜它的意思是Define。 【参考方案1】:

“定义”属性。属性不是参数,所以无论如何你都需要一个特殊的标识符。

【讨论】:

【参考方案2】:

系统定义的简称。

“define”调试为yes

-Ddebug=yes

有一些历史背景,因为其他编译器使用类似的标志。例如,gcc 使用 -D 设置预处理器定义。

gcc -D debug=yes test.c

将使用预处理器变量debug 设置为yes 的预处理环境编译test.c。

【讨论】:

以上是关于为啥Java使用-D来表示系统属性?的主要内容,如果未能解决你的问题,请参考以下文章

吴裕雄--天生自然Linux操作系统:Linux 文件基本属性

Confluence 6 识别系统属性

如何将系统属性传递给 jar 文件

win10正式版配置java报错 为啥?如何解决

Java之属性集(Properties类)

属性集