Friday, 15 May 2015

java - How to suppress OptionValidator of Commons CLI? -



java - How to suppress OptionValidator of Commons CLI? -

i want run

class="lang-java prettyprint-override">java -jar application.jar -dlog4j.configuration="path/to/log4j.xml"

application.jar runs commons cli , needs external log4j.xml file.

when run command, next exception:

class="lang-java prettyprint-override">java.lang.illegalargumentexception: opt contains illegal character value '.' @ org.apache.commons.cli.optionvalidator.validateoption(optionvalidator.java:73) @ org.apache.commons.cli.option.<init>(option.java:123) @ org.apache.commons.cli.options.addoption(options.java:131) @ org.apache.commons.cli.options.addoption(options.java:114)

because dlog4j.configuration has '.'. how can skip this?

solved bringing problematic parameter in front end of -jar.

java -dlog4j.configuration=file:\c:path\to\log4j.xml -jar application.jar

then mutual cli ignores it. 1 time tried failed , abandoned caused path without file protocol, file:\.

still don't know if mutual cli can skip validation of options though.

java log4j apache-commons-cli

No comments:

Post a Comment