在Java启动时指定的D选项(-D)是什么?
出版日期:
更新:
技术文章 > 在Java启动时指定的D选项(-D)是什么?
2026 状态和安全使用
结论:将-Dname=value放在主类或-jar参数之前来定义JVM系统属性。 Java 代码使用 System.getProperty("name") 读取它;它与操作系统环境变量不同。
你将学到什么
- Java 启动器如何解析
-D选项以及值的存储位置。 - 如何检查属性而不将机密泄露到命令行或进程列表中。
- 原始 Java 11 示例如何映射到当前支持的 JDK 版本。
适用人群:诊断特定于环境的应用程序配置的 Java 开发人员和操作员。
2026 年立场:该机制保持最新状态,但使用机密管理器或受保护的配置源作为凭据。下面的演练记录了原始的 Java 11 测试,不应将其视为将机密放入 -D 参数中的建议。
安全注意事项:原始文章中的命令和配置示例尚未在当前生产环境中重新运行。应用之前,请在单独的测试环境中验证支持的版本、备份、访问控制和回滚步骤。
官方主要来源
概述。
ClassLoaderLogManager",或者在Eclipse的 "执行环境⇒VM参数 "中的"-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager",如下所示。 logging.manager=org.apache.juli.ClassLoaderLogManager",在Eclipse中如下。
本节说明 “-DXXXXXX” 选项的作用。
目录
1. 什么是D选项(-D)?
D选项(-D)是一个Java系统属性值。
通过运行示例观察系统属性值如何生效。
1-1. 使用 D 选项(-D)启动时会发生什么?
使用 D 选项(-D)启动 Eclipse。 具体选项是"-Dtest=testoption"。 按下图所示进行设置。
创建一个简单的主类,如下图所示。
执行这个主类表明,可以用 "test "作为参数获得 "testoption "的值,如下所示。
也就是说,在 Java 启动时指定的系统属性,可以通过 System 类读取。
3. 摘要
在启动Java时,D选项(-D)可以从System类中获取数值。 例如,当你想为不同的环境动态地设置不同的值时,就会用到这一点。



