Ответ 1
Для свойств, которые вы установили с помощью флага -D
в командной строке, вы хотите System.setProperty. Например:
System.setProperty("propname", "hello world");
// ... later ...
String value = System.getProperty("propname");
Update:
Вы не можете включить отладку динамически, но вы можете включить отладку при запуске, но позже присоедините отладчик. Со следующим вы можете прослушивать порт 12345 и сразу запускать свою программу (через suspend=n
). Затем вы можете прикрепить отладчик, если/когда вам нужно, отделить отладчик, снова подключиться и т.д.
-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=12345
Конечно, это ухудшает производительность даже тогда, когда отладчик не подключен, поэтому он работает только в dev/test code, а не на производстве. Для этого вы хотите вести журнал, например. log4j.