問題タブ [apache-commons-cli]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - apache commons cliを使用して複数のオプションを指定するにはどうすればよいですか?
私は次のようなものが欲しいです:
内容あり:
...出力は次のとおりです。
-job1
私はそれが印刷されることを期待しています-job1 -C <> -W <>
私は何かが足りないのですか?複数の引数では機能しません。ちなみに、使ってみcommons-cli 1.2
ました。
java - Unix上のJavaApacheCommons CLI; >は、リダイレクトではなく実行可能ファイルへの引数として扱われています
WindowsとUnixでいくつかのコマンドラインテストを自動化しようとしています。これを行うために、Java1.6とApacheCommonsCLI1.1を使用しています。Javaコードで行うことは、ApacheCommonsCLIのaddArgumentメソッドを使用して実行するコマンドを作成することです。実行したいコマンドラインを作成した後、コマンドの出力をファイルにパイプしたかったので、コマンドの最後に以下を追加しました
ここで、cloudscanOutputFilenameは、使用するファイル名を含む文字列です。これはWindowsで正常に機能し、コマンドが作成され、リダイレクトされた2つの引数が追加され、ファイルが正常に作成されます。ただし、Unixでは、>とファイル名文字列をリダイレクトではなく実行可能ファイルへの追加の引数として扱います。
Unixにこのコマンドをコマンドラインで直接入力したかのように読み取らせるにはどうすればよいですか?コマンドを文字列として出力し、Unixでコピーして貼り付けましたが、期待どおりに機能しますが、Javaプログラムから実行すると、リダイレクトが正しく処理されません。
メソッドのaddArgument(string、boolean)バージョンをtrueとfalseの両方として使用してみましたが、どちらも役に立ちません。これは私を真剣に夢中にさせています。
java - Apachecommon-cliを使用して引数を解析する
Apache common-cliのWebサイトには、次のls
コマンドの例があります。
これは、次のようなヘルプを示しています。
- このコードを書くと、が表示されます
--block-size <SIZE>
。私はこのようなものを見せたいです:(-z,--block-size=SIZE
長いオプションだけではありません)。 PosixParser
との違いは何GnuParser
ですか?コードで変更しましたが、違いは見られませんでした。- たとえば、間違ったオプションを指定すると、何も
h
表示されませthrow
んParseException
。プログラムは正常に開始および終了します。
java - Commons CLI 必須グループ
私は Java でコマンド ライン アプリケーションを作成しており、入力引数を解析するために Apache Commons CLI を選択しました。
2 つの必須オプション(つまり、-input と -output) があるとします。新しい Option オブジェクトを作成し、必要なフラグを設定します。今のところ、それはすべて良いです。しかし、必須ではない 3 番目のオプションがあります。-ヘルプ。私が言及した設定では、ユーザーがヘルプを表示したい場合 (-help オプションを使用)、「-input と -output」が必要であると表示されます。これを実装する方法はありますか (Commons CLI API を介して、if (!hasOption) throw new XXXException() という単純なものではありません)。
java - Java:Apache CommonsCLI1.2を使用したNoClassDefFoundError
Apache Commons CLI 1.2を使用して、Javaでコマンドライン引数を解析しています。Javaクラスを実行しようとしたNoClassDefFoundError
ときに遭遇しましたが、クラスパスを修正することで解決しました。
commons-cli
今、私は同じ例外を持っていますが、以下に示すように実際のクラスに関して:
私が考えることができる唯一のことは、クラスパスをcommons-cli jarに設定することですが、それは機能しませんでした。NoClassDefFoundError
インポートされたクラスのを修正するための解決策を見つけることができませんでした。これらは.classファイルにコンパイルされていると思いましたか?
java - main()メソッド内から実行可能jarの名前を取得します
実行可能jarを作成し、commons-cliを使用して、ユーザーがクライアントを起動するときにコマンドラインパラメーターを指定できるようにしました。すべてが正常に動作します。ただし、jarの使用法ステートメントを印刷するときは、次のように表示したいと思います。
すべてのオプションの印刷は、commons-cliを使用して簡単に実行できます。ただし、「使用法」の行はヘッドスクラッチャーです。アプリケーションに渡されるargs[]から「myprog.jar」の名前を取得する方法がわからないようです。
これを行う簡単な方法はありますか?かなり複雑なメソッドを使用して、クラスのクラスローダーからトレースをバックトレースし、それがjar内に含まれているかどうかを判断できますが、それは非常に単純な質問に対するかなり醜い答えのようです。
java - '='に基づいてコマンドライン引数を解析する
コマンドライン引数を解析するためにapachecommons.cliライブラリを使用しています。デフォルトの解析動作は、スペースに基づいて引数を解析することです。antを使用してJavaプログラムに引数を渡しますが、antはわずかに異なる構文を使用しており=
、スペースの代わりに使用しています。=
スペースではなくベースで解析する解析の動作を変更するにはどうすればよい ですか?私の構文解析は現在次のようになっています:
java - Apache Commons CLI でのみ 1 つの引数が必要ですか?
Apache Commons CLI ライブラリに、正確に 1 つの引数を指定する必要があることを指定する方法はあるのでしょうか?
たとえば、2 つのコマンド ライン引数がありますが、1 つ (多くても少なくても) を指定する必要がありますか? ip または msisdn のいずれかが必要ですが、どちらも両方も必要ありません。
どうもありがとう!
java - Apache Commons CLI - ヘルプ オプションの注文?
Apache Commons CLI を使用しています。デフォルトでは、コマンド ラインのヘルプ オプションをキーのアルファベット順に並べ替えます。したがって、表示されるのは次のとおりです。
しかし、私は次のようにそれらを注文したい:
使用して HelpFormatter に渡すことができる OptionFormatter クラスがあることは知っていますが、上記の目的でそれを使用する方法の例を見ることができません (http://www.marko.homeunix.org/programming/java/ commons-cli/api/org/apache/commons/cli/HelpFormatter.OptionComparator.html)。
誰かが似たようなことをしたのだろうか?
ありがとう
java - -helpオプションのApacheCommonsCLIマルチ引数値の名前
コマンドライン引数の解析にはApacheCommonsCLIを使用しています。
ヘルプに複数の引数値の名前を表示する方法を探しています。オプション「startimport」の1つの引数の例を次に示します。
-helpを使用すると、次のように出力されます。
それは大丈夫です。しかし、2つの引数を使用したい場合はどうなりますか?
2つの引数の解析は問題ではありませんが、「-help」に次の出力が必要です。
しかし、現在私はただ得るでしょう:
その問題の適切な解決策はありますか?