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

Mar*_*aux 2 java linux jar working-directory

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

马亭

Edu*_*iba 5

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

String path = YourClass.class.getProtectionDomain().getCodeSource().getLocation().toURI().getPath();
Run Code Online (Sandbox Code Playgroud)

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

path=path.substring(0, path.lastIndexOf('/')+1);
Run Code Online (Sandbox Code Playgroud)

当我需要在jar的同一目录中打开一个文件时,我遇到了与java游戏相同的问题.

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