2016-04-07 3 views
1

GroovyのCliBuilderを使用してコマンドライン引数を解析し、コマンドラインが正しくないときに使用法メッセージを生成しています。使用法のメッセージの一環として、使用しているプログラムの実際の名前を印刷することができます(各ビルドでバージョン番号が変わるため)。使用したプログラムの名前はどのように入手できますか?実行中のコマンド(またはjar、またはスクリプト)の名前をGroovyのCliBuilderから取得する方法はありますか?

私のような何かを行うことができるのが大好きです:

def cli = new CliBuilder(usage: "java -jar ${this.name} -db DBCONNECTIONFILE") 

が、私は得ることができるように思われるすべてのプログラム名の後に来る引数です。

おそらく私はpomからそれを得ることができますが、私はどのようにpomファイルを読んで、pomを解析するのか分かりません。

+0

IMHOを入力すると、答えが一致するようにタイトルを改善できます。 – Jayan

答えて

1

現在実行中のjarの名前を取得したいと思うように聞こえます。これはHow to get the path of a running JAR file? .getName()を呼び出し、その後

new File(MyClass.class.getProtectionDomain().getCodeSource().getLocation().toURI().getPath()); 

で覆われています。パスだけを使用したい場合は、

MyClass.class.getProtectionDomain().getCodeSource().getLocation().toURI().getPath() 
+0

tanx Riley:D - shouldaはあなたにちょうど尋ねました。 – GLaDOS

関連する問題