0

这是这个问题的后续

我尝试做什么:
我有一个 Eclipse 项目,它使用 th Sigar 库来获取 cpu 信息(以及其他信息)。为了做到这一点,Sigar 需要一个库文件才能工作。每个 CPU/OS 都有一个不同的文件,所有这些文件都是可用的。我必须将它打包到一个 jar 中,以便其他人可以将我的应用程序用作库。

我做了什么:
将可用的库文件添加到我的项目中,并且可以像这样访问它们

System.setProperty("org.hyperic.sigar.path",System.class.getResource("/lib").getPath());
System.load(System.class.getResource(getClass().getResource(
    "/lib/libsigar-amd64-linux.so").toString()).getPath());

如果我将我的应用程序作为独立应用程序运行,这两种方法似乎都有效。当我将它打包到一个 jar 中并尝试从另一个项目中运行它时,它就不起作用了。我无法看到目录或文件。
这是我的项目的结构,我 尝试使用我能想到的任何路径访问该文件,但都返回了 NullPointerException。
在此处输入图像描述

我怎样才能做到这一点?使用临时文件?我不知道我应该怎么做,我想加载整个文件夹而不仅仅是一个文件,因为我不知道客户端应用程序的硬件/操作系统。

4

0 回答 0