installanywhere, запущенный из ProcessBuilder, не может использовать системное свойство log4.configuration

Я наблюдаю странное поведение. Я запускаю исполняемый файл installanywhere из своего класса Java с помощью ProcessBuilder. Я передаю некоторые аргументы для jvm, например

lax.nl.java.option.additional=-Dvis.oldZoom=false -DSystemRoot="C:\Windows" -Dlog4j.configuration=file:"/местоположение для log4.xml/" -DLOG4J_CONFIG_FILE=файл:"/местоположение для log4.xml/" -Dlog4j.debug=true

Последние три параметра предназначены для log4j, и это моя проблема.

У меня есть банки log4j в пути к классам

lax.class.path=другие банки;log4j-1.2.17.jar

Но ничего не выходит, нет ни лога, ни процесса java. Чего здесь может не хватать?

Обновить Вместо этого

Последние три параметра предназначены для log4j, и это моя проблема.

На самом деле я пытался сказать, что они должны быть там, я это знаю. И я ожидаю, что ведение журнала log4j будет настроено и правильно настроено после включения этих параметров и банок, но проблема в том, что оно (журналы) не появляется.


person manocha_ak    schedule 13.01.2014    source источник


Ответы (1)


lax.nl.java.option.additional в вашем файле lax должен определять их.

Можете ли вы «записать» в нестрогий файл, если их нужно добавить или удалить во время выполнения?

В качестве альтернативы я бы просто создал конфигурацию запуска для каждого набора аргументов, который вам может понадобиться, чтобы вы могли просто получить доступ к конкретному средству запуска, не возясь с дополнительными переключателями.

person maciej nullpointer    schedule 16.01.2014
comment
Смотрите мое обновление, я чувствую, что делаю то, что вы говорите, но это не работает - person manocha_ak; 17.01.2014