当前位置: 首页 > 面试题库 >

Java-如何获取正在运行的JAR文件的路径?

张亦
2023-03-14
问题内容

我的代码在一个JAR文件(例如foo.jar)中运行,我需要在代码中知道正在运行的foo.jar在哪个文件夹中。

因此,如果foo.jar在中C:\FOO\,无论我当前的工作目录是什么,我都希望获取该路径。


问题答案:
return new File(MyClass.class.getProtectionDomain().getCodeSource().getLocation()
    .toURI()).getPath();

用班级名称替换“ MyClass”。

显然,如果从非文件位置加载你的类,这将做奇怪的事情。



 类似资料:
  • 问题内容: 我的代码在一个JAR文件(例如foo.jar)中运行,我需要在代码中知道正在运行的foo.jar在哪个文件夹中。 因此,如果foo.jar在中C:\FOO\,无论我当前的工作目录是什么,我都希望获取该路径。 问题答案: 用你的类名称替换“ MyClass”。 显然,如果从非文件位置加载你的类,这将做奇怪的事情。

  • 当我使用相对路径时,我可以从Eclipse运行Java程序。但是,当我将其作为JAR文件运行时,该路径不再有效。在我的src/components/SettingsWindow中。我有:

  • 问题内容: 我正在尝试获取资源的途径,但是我没有运气。 这是可行的(在IDE和JAR中都可以),但是这样一来,我无法获取文件的路径,只能获取文件内容: 如果我这样做: 结果是: 有没有办法获取资源文件的路径? 问题答案: 这是故意的。“文件”的内容可能无法作为文件使用。请记住,您正在处理的类和资源可能是JAR文件或其他类型的资源的一部分。类加载器不必为资源提供文件句柄,例如jar文件可能尚未扩展为

  • 问题内容: 我创建了一个JAR文件,如下所示: 我通过双击运行了这个JAR文件(它不起作用)。因此,我从DOS提示符运行了它,如下所示: 它引发了“无法加载主类”异常。所以我提取了这个JAR文件: 我运行了类文件: 运行良好。我不知道为什么JAR文件不起作用。请告诉我运行JAR文件的步骤 问题答案: 你需要在jar文件清单中指定Main-Class。 Oracle的教程包含完整的演示,但是这是从头

  • 在nodejs中,我使用__dirname。在戈兰,这相当于什么? 我在谷歌上找到了这篇文章http://andrewbrookins.com/tech/golang-get-directory-of-the-current-file/.他使用下面的代码 但是,这是正确的方式还是习惯的方式做在戈朗?

  • 问题内容: 我正在不同位置运行jar文件,并且试图弄清楚如何获取正在运行的jar文件的位置。 问题答案: 这不是一个完美的解决方案,但这将返回类代码库的位置: