指定java库中二进制文件的相对路径

时间:2017-09-02 05:21:51

标签: java jar relative-path

我正在编写一个包含一些非java二进制文件的引用的库。 (java库用于对这些进行子proc调用)。

我已使用以下代码行指定了包含这些文件的文件夹的路径:

String binaryFolder = System.getProperty("user.dir") + "/externalbinaries/";

当库被包含在另一个java应用程序中时,该路径当然不成立。

有没有办法指定相对于项目根目录的路径?

我看过使用类加载器的答案:

 binaryFolder = classLoader.getResource("bin/ext/").getPath();

但在导入为应用程序中的.jar库时,此资源文件夹的路径也不成立。

我正在使用java 1.8。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

你用user.dir描述的内容实际上不是一个相对路径,因为该语句的结果实际上是一个绝对路径,但它不是一个“固定”路径,因为用户工作目录可以改变,我认为是你对“亲戚”的意思是什么?

相反,user.home应该是一个固定的路径?