【问题标题】:Java: Howto know where the jar is located in LinuxJava:如何知道 jar 在 Linux 中的位置
【发布时间】:2010-11-26 20:57:25
【问题描述】:

在 Linux 中,JVM 将工作目录设置为用户的主文件夹。 在 Windows 中,这是 jar 所在的文件夹。 如何找到 jar (来自我的应用程序) 的位置以更改工作目录?

马丁

【问题讨论】:

  • 你问的是哪个jar文件?您的应用程序、Java API 还是第三方?

标签: java linux jar working-directory


【解决方案1】:

尝试使用以下代码获取 jar 的路径:

String path = YourClass.class.getProtectionDomain().getCodeSource().getLocation().toURI().getPath();

然后你可以删除“*.jar”部分:

path=path.substring(0, path.lastIndexOf('/')+1);

当我需要在 jar 所在的同一目录中打开文件时,我在使用 java 游戏时遇到了同样的问题。

在linux中双击jar没有打开文件。当然你可以打开命令行,将 dir 更改为 jar 目录,然后从那里运行 jar,但我需要双击 jar。

【讨论】:

    【解决方案2】:

    在这两种情况下,它都是实际目录。如果您从资源管理器执行它,则在 Windows 下,实际目录会自动设置为 jar 的基本目录。在 linux 下,主目录是您的 GUI 的实际目录。要设置目录,请编写一个简短的 shell 脚本,设置实际目录(使用 cd 命令),然后执行 jar(使用 javaw -jar xyz.jar)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-07-12
      • 1970-01-01
      • 2012-03-30
      • 2016-06-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多