不能以运行jar的名字命名

时间:2014-06-27 15:07:31

标签: java executable-jar

我知道有很多类似的问题和答案。但没有一个解决方案适合我!我不明白为什么(( 所以我有一个可运行的jar例如' program.jar'在它里面我想取这个jar的名字(即program.jar)。我试过跟随:

  • ClassInsideJar.class.getProtectionDomain().getCodeSource().getLocation().getPath()
  • new java.io.File(ClassInsideJar.class.getProtectionDomain().getCodeSource().getLocation().getPath())
  • new File(".")).getAbsolutePath()(以及不同的变体,如getCanonicalPath等)
  • ClassLoader.getSystemClassLoader().getResource(".").getPath()

在所有这些情况下,我只能走这个罐子的路径。例如,完整路径为J:/folder/program.jar。我能看到的只有J:/folder

错误是什么?我试图在主要班级和其他人中获得jar的名字。

我已尝试通过双击并使用命令行运行此jar。结果是一样的

1 个答案:

答案 0 :(得分:1)

试试这个:

(new File(ClassInsideJar.class.getProtectionDomain().getCodeSource().getLocation().toURI())).getName();