我使用Groovy的CliBuilder解析命令行参数,并在命令行不正确时生成用法消息。作为使用消息的一部分,我希望能够打印所用程序的实际名称(因为版本号随每个构建而变化)。我怎样才能获得所用程序的名称?
我希望能够做到这样的事情:
def cli = new CliBuilder(usage: "java -jar ${this.name} -db DBCONNECTIONFILE")
但我似乎能够获得的只是程序名称之后的参数。
也许我可以从pom中获取它,但我不明白如何从pom文件中获取它,而不是读取和解析pom。
答案 0 :(得分: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()