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

时间:2009-09-09 14:36:36

标签: java linux jar working-directory

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

马亭

2 个答案:

答案 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)。