【问题标题】:how to know .jar file directory [duplicate]如何知道.jar文件目录[重复]
【发布时间】:2011-02-19 19:55:07
【问题描述】:

可能的重复:
Where on the file system was my java class loaded from?
How do I get the directory that the currently executing jar file is in?

我如何知道我的程序中的 .jar 文件目录 我想用这个目录来创建另一个文件 在用户保存此 .jar 文件的同一目录中

【问题讨论】:

  • 此线程似乎与您之前的问题 (stackoverflow.com/questions/5052311/…) 密切相关,其中 2 人建议在 user.home 的子目录中存储文件。我们建议这样做是有充分理由的,如果您不明白为什么,最好在原始线程上进行处理。当我在这里时,您仍然专注于策略,而不是目标。 ;)

标签: java jar


【解决方案1】:

我不认为你可以很容易地找到 JAR 文件的位置,但你可以找出你的程序是从哪个目录运行的:

File cwdFile = new File (".");
String cwd = cwdFile.getAbsolutePath();

这仅在用户实际从其所在目录运行 JAR 文件时才有效:

java -jar MyExectuableJar.jar

如果他们从另一个目录运行它,像这样:

java -jar /usr/bin/java/MyExecutableJar.jar

然后你会得到用户当时恰好在哪个目录。

【讨论】:

  • 你不需要知道绝对路径就可以使用new File (".")。但正如您自己所说:当前的工作目录与 jar 所在的位置无关 - 只是偶然的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-10-03
  • 1970-01-01
  • 2011-06-19
  • 2011-09-10
  • 1970-01-01
  • 2010-11-26
相关资源
最近更新 更多