0

走りたい

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 には「.」があるためです。どうすればこれをスキップできますか?

4

1 に答える 1

0

問題のあるパラメーターを -jar の前に置くことで解決しました。

java -Dlog4j.configuration=file:\C:path\to\log4j.xml -jar application.jar

その後、Common CLI はそれを無視します。これを試してみると失敗して放棄しましたが、それはファイルプロトコルのないパスが原因でしたfile:\.

ただし、Common CLI がオプションの検証をスキップできるかどうかはまだわかりません。

于 2014-06-20T06:21:23.153 に答える