如何在JAR之外加载文件,但相对于JAR?

时间:2011-02-23 22:06:59

标签: java file jar

我需要在JAR之外加载一个文件,但相对于它(确切地说是lib/config/config.ini)。我使用了那个确切的路径,只要工作目录是JAR所在的地方就可以正常工作,即

/path/to/jar$ java -jar JAR.jar

如果它像这样运行:

~$ java -jar /path/to/jar/JAR.jar

找不到它。如何正确加载相对于JAR位置的文件?

1 个答案:

答案 0 :(得分:3)

尝试使用getClassLoader().getResource("classname")在jar文件中查找类的URL。你会发现它在jar的路径和jar中的路径之间用!分隔,你可以很容易地切片。