Чтение свойства JVM по умолчанию с помощью программы

Я пытаюсь прочитать текущее расширение сущностиDjdk.xml.entityExpansionLimit предел, но это дает ноль. Я пробовал следующий код

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

2 ответа

Вы запускаете свою программу как

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

Если вы не можете видеть это, я думаю, что свойство не установлено ранее. Надеюсь это поможет.

Другие вопросы по тегам