在 Maven 中使用 SIGAR
Posted
技术标签:
【中文标题】在 Maven 中使用 SIGAR【英文标题】:Using SIGAR with maven 【发布时间】:2013-04-28 13:41:56 【问题描述】:我目前正在尝试在 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 是jar 仅包含 org-folder 中的文件,maven 依赖于 lib-folder 中的内容),但随后找不到 .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 在这种情况下工作?
提前致谢, 达格雷
【问题讨论】:
【参考方案1】:使用 surefire 插件,您不需要在参数前面加上 'D' 前缀(例如 - -java.library.path=$project.build.directory/lib/libsigar-x86-linux.so)。
【讨论】:
感谢您的建议,但问题的答案是,经过一番尝试和再次谷歌搜索后,将以上是关于在 Maven 中使用 SIGAR的主要内容,如果未能解决你的问题,请参考以下文章
如何在 sbt-native-packager Akka 构建中包含 sigar 本机库?
1 [main] DEBUG Sigar - no sigar-amd64-winnt.dll in java.library.path org.hyperic.sigar.SigarExcepti