5

我目前正在尝试在 maven-build 中使用 Sigar,它每次都说:

“org.hyperic.sigar.SigarException:java.library.path 中没有 libsigar-x86-linux.so”

我已经使用 mvn install:install-file -DgroupId=org.hyperic -DartifactId=sigar -Dversion=1.6.4 -Dpackaging=jar -Dfile=sigar.jar 将 Sigar 安装到 maven (其中 sigar.jar 是一个仅与org-folder 中的文件,以及与 lib-folder 中的东西的 maven 依赖项),但是它找不到 .so 文件。

我试图找到答案,他们大多说应该解压缩文件,例如Unzip dependency in maven。解压缩(在通过 install:install-file 安装其他东西之后)确实可以正常工作,但该文件毕竟不包含在路径中。

然后我试图找到一些东西来在构建路径中包含这些文件,所以我做了这样的事情:Surefire JUnit Testing using Native Libraries(我想在测试中使用 sigar),但这也不会改变任何东西。我已经尝试使用许多不同的文件夹,甚至将文件本身而不是它所在的文件夹添加到库路径中,但即使这样:

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-surefire-plugin</artifactId>
  <configuration>
    <forkMode>once</forkMode>
    <argLine>-Djava.library.path=${project.build.directory}/lib/libsigar-x86-linux.so</argLine>
  </configuration>
</plugin>

不起作用,但文件显然在那里。我正在使用 Maven 2.2.1。

有没有人暗示如何在这种情况下让 sigar 工作?

提前致谢, 达格瑞

4

1 回答 1

0

使用 surefire 插件,您不需要在参数前面加上“D”前缀(例如 - -java.library.path=${project.build.directory}/lib/libsigar-x86-linux.so)。

于 2013-04-28T16:21:16.983 回答