使用Maven与SIGAR

5

我目前正在尝试在Maven构建中使用Sigar,但每次都会出现以下错误:

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

我已经通过mvn install:install-file将Sigar安装到了Maven中,并使用以下命令:-DgroupId=org.hyperic -DartifactId=sigar -Dversion=1.6.4 -Dpackaging=jar -Dfile=sigar.jar(其中sigar.jar是一个只包含org文件夹中文件的jar文件,并且该Maven依赖项与lib文件夹中的内容相对应),但它无法找到.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>

出现问题提示“不起作用”,但文件显然存在。我正在使用 Maven 2.2.1。

有没有人有关于如何在这种情况下使 sigar 正常工作的提示?

提前致谢, DaGeRe

1个回答

0

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


2
谢谢您的建议,但是在尝试和再次搜索后,问题的答案是将<workingDirectory>target</workingDirectory>添加到配置中。我原以为${project.build.directory}会包括这个目录,但实际上并没有。 - David Georg Reichelt
@DavidReichelt:为什么不把这个作为你自己的答案发布并接受它呢? - lakshman

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接