将SIGAR与maven一起使用

Dav*_*elt 5 java maven sigar

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

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

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

我试图找到答案,大多数人说应该解压缩文件,如在maven中解压缩依赖.解压缩(在通过install:install-file安装其他内容之后)确实可以正常工作,但该文件根本不包含在路径中.

然后我试图在构建路径中找到包含文件的东西,所以我做了类似这样的事情:使用本机库进行Surefire JUnit测试(我想在测试中使用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>
Run Code Online (Sandbox Code Playgroud)

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

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

在此先感谢DaGeRe

小智 0

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

  • 感谢您的建议,但问题的答案是,经过一番尝试和再次谷歌搜索后,将 &lt;workingDirectory&gt;target&lt;/workingDirectory&gt; 添加到配置中。我以为 ${project.build.directory} 会包含这个,但事实并非如此。 (2认同)