在Linux中,JVM将工作目标设置为等于来自用户的homefolder。 在Windows中,这是jar所在的文件夹。 如何找到jar (来自我的应用程序)的位置来更改工作目录?
马亭
答案 0 :(得分:5)
尝试使用以下代码获取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。
答案 1 :(得分:0)
在这两种情况下,它都是实际目录。在Windows下自动将实际目录设置为jar的base-dir,如果从explorer执行它。在linux下,home-directory是GUI的实际目录。要设置目录,请编写一个简短的shell脚本,它设置实际目录(使用cd-command),然后执行jar(使用javaw -jar xyz.jar)。