使用程序读取默认的 JVM 属性



我正在尝试读取当前实体扩展Djdk.xml.entityExpansionLimit限制,但它给出 null。我尝试了以下代码

System.getProperty("Djdk.xml.entityExpansionLimit");
System.getProperty("jdk.xml.entityExpansionLimit");
System.getProperty("jdk.xml.entityExpansionLimit");
System.getProperty("-DentityExpansionLimit");
System.getProperty("-Djdk.xml.entityExpansionLimit");
System.getProperty("ENTITY_EXPANSION_LIMIT");

都给出了null的结果

你像这样运行你的程序

java Example -Djdk.xml.entityExpansionLimit=1234

并像阅读此属性一样

System.getProperty("jdk.xml.entityExpansionLimit");

您可以列出所有属性并检查其名称:

Properties props = System.getProperties();
Enumeration keys = props.keys();
while (keys.hasMoreElements()) {
  String key = (String)keys.nextElement();
  String value = (String)props.get(key);
  System.out.println(key + ": " + value);
}

如果你看不到它,我认为该属性之前没有设置。希望这有帮助。

最新更新