#java #log4j #apache-commons-cli
#java #log4j #apache-commons-cli
Вопрос:
Я хочу запустить
java -jar application.jar -Dlog4j.configuration="path/to/log4j.xml"
применение.jar работает с CLI Commons и нуждается во внешнем log4j.xml досье.
Когда я запускаю эту команду, я получаю следующее исключение:
java.lang.IllegalArgumentException: opt contains illegal character value '.'
at org.apache.commons.cli.OptionValidator.validateOption(OptionValidator.java:73)
at org.apache.commons.cli.Option.<init>(Option.java:123)
at org.apache.commons.cli.Options.addOption(Options.java:131)
at org.apache.commons.cli.Options.addOption(Options.java:114)
потому что Dlog4j.configuration имеет ‘.’.
Как я могу пропустить это?
Ответ №1:
Решается путем приведения проблемного параметра перед -jar .
java -Dlog4j.configuration=file:C:pathtolog4j.xml -jar application.jar
Тогда Common CLI игнорирует это.
Как только я попробовал это, это не удалось, и я отказался, но это было вызвано путем без файлового протокола file:
.
Тем не менее, я не знаю, может ли обычный CLI пропустить проверку параметров.