gpt4 book ai didi

java - 如何确定 Scala 中调用的 JAR 的名称?

转载 作者:行者123 更新时间:2023-11-30 04:49:18 26 4
gpt4 key购买 nike

UNIX shell 程序有一个方便的属性,即第一个参数是调用的程序的名称。所以我可以写这样的东西:

#!/bin/sh
echo "You ran $0."

当我运行它时,我得到:

$ sh foo.sh 
You ran foo.sh.

当您想要捕获错误的调用并给出用法字符串时,这特别有用,例如:

Usage: foo.sh -a [AAAAA] -b [BBBBB] -c [CCCCC]

如何对像 java -jar MyJAR.jar 这样调用的 JAR 文件执行此操作?对于 Scala mainargs(0) 只是用户传递的第一个参数,而不是调用的程序的名称。我希望能够打印出来:

Usage: MyJAR.jar -a [AAAAA] -b [BBBBB] -c [CCCCC]

有什么想法吗?

最佳答案

你可以试试这个:

val path = myClass.getClass.getProtectionDomain.getCodeSource.getLocation.getPath

只要 myClass 是您正在运行的 jar 文件中定义的类的实例,该方法就应该有效。

关于java - 如何确定 Scala 中调用的 JAR 的名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10211727/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com