2016-04-07 23 views
1

我使用Groovy的CliBuilder來解析命令行參數,並在命令行不正確時生成一條用法消息。作爲使用消息的一部分,我希望能夠打印出使用的程序的實際名稱(因爲每個版本的版本號會發生變化)。我怎樣才能得到所用程序的名稱?如何從Groovy的CliBuilder獲取正在運行的命令(或jar或腳本)的名稱?

我很想能夠做到像:

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

,但我似乎是能夠獲得的程序名後前來的參數。

也許我可以從pom中得到它,但我不明白我如何從pom文件中讀取並解析pom。

+0

恕我直言,你可以改進標題來匹配答案。 – Jayan

回答

1

聽起來就像你想要得到當前正在執行的jar的名字。這是覆蓋在How to get the path of a running JAR file?

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

然後調用.getName()。如果你只是想要的路徑,那麼你可以使用

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

tanx Riley:D--本應剛問過你。 – GLaDOS

相關問題