次の形式のコマンドを解析したいと思います: mycmd source dest
.
ソースまたは宛先が見つからない場合は、パーサーを失敗させたいと思います。Apache Commons CLIを使用してオプションの一部として末尾の引数を定義するにはどうすればよいですか?
私はそれを行う方法を見つけることができませんでした。これは仕方のないことだと感じています。末尾の引数を定義できれば、このソリューションに記載されているように、それらを手動でヘルプに追加する必要はありませんでした。
次の形式のコマンドを解析したいと思います: mycmd source dest
.
ソースまたは宛先が見つからない場合は、パーサーを失敗させたいと思います。Apache Commons CLIを使用してオプションの一部として末尾の引数を定義するにはどうすればよいですか?
私はそれを行う方法を見つけることができませんでした。これは仕方のないことだと感じています。末尾の引数を定義できれば、このソリューションに記載されているように、それらを手動でヘルプに追加する必要はありませんでした。
Commons-cli は現在、末尾の引数の特別な処理をサポートしていません。今のところ、末尾の引数を自分で解析する必要があります。つまり、次のようなものです。
String[] trailing = cmdLine.getArgs();
if(trailing.length < 2) {
throw new IllegalArgumentException("Need at least 3 arguments <src> [<src> ...] <dest>");
}
String dest = trailing[trailing.length-1];
String[] sources = Arrays.copyOf(trailing, trailing.length-1);