Java:如何知道jar在Linux中的位置

Java:如何知道jar在Linux中的位置,java,linux,jar,working-directory,Java,Linux,Jar,Working Directory,在Linux中,JVM将工作目录设置为用户的homefolder。 在Windows中,这是jar所在的文件夹。 如何从我的应用程序中找到jar的位置来更改工作目录 Martijn在这两种情况下都是实际目录。在windows下,如果您从资源管理器执行jar,则实际目录将自动设置为jar的基本目录。在linux下,主目录是GUI的实际目录。要设置目录,请编写一个简短的shell脚本,该脚本使用cd命令设置实际目录,然后使用javaw-jar xyz.jar执行jar。尝试使用以下代码获取jar的路

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


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

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

String path = YourClass.class.getProtectionDomain().getCodeSource().getLocation().toURI().getPath();
然后,您可以使用以下方法删除*.jar部分:

path=path.substring(0, path.lastIndexOf('/')+1);
当我需要打开jar所在目录中的文件时,我在java游戏中遇到了同样的问题


在linux中双击jar无法打开该文件。当然,您可以打开一个命令行,将dir更改为jar dir,然后从那里运行jar,但我需要双击jar。

您要的是哪个jar文件?您的应用程序是Java API还是第三方?