【问题标题】:Reading default JVM property using program使用程序读取默认 JVM 属性
【发布时间】:2015-06-29 12:42:04
【问题描述】:

我正在尝试读取当前实体扩展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

【问题讨论】:

  • 你的程序运行得如何?您是如何尝试设置这些系统属性的?
  • 你确定是Djdk.xml.entityExpansionLimit 不是jdk.xml.entityExpansionLimit

标签: java jvm jvm-arguments jdk6


【解决方案1】:

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

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);
}

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

【讨论】:

    【解决方案2】:

    你运行你的程序就像

    java Example -Djdk.xml.entityExpansionLimit=1234

    并像

    一样阅读此属性

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-23
      • 2015-06-03
      • 2021-12-18
      • 1970-01-01
      • 2018-11-02
      • 2012-11-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多