我想跑
java -jar application.jar -Dlog4j.configuration="path/to/log4j.xml"
application.jar使用Commons CLI运行,需要外部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有&#39;。&#39;。 我怎么能跳过这个?
答案 0 :(得分:0)
通过将有问题的参数放在-jar前面来解决。
java -Dlog4j.configuration=file:\C:path\to\log4j.xml -jar application.jar
然后Common CLI忽略它。
一旦我尝试了它就失败了,我放弃了,但这是由没有文件协议的路径file:\
引起的。
我仍然不知道Common CLI是否可以跳过选项验证。