【问题标题】:Using SIGAR with maven在 Maven 中使用 SIGAR
【发布时间】: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 在这种情况下工作?

提前致谢, 达格雷

【问题讨论】:

    标签: java maven sigar


    【解决方案1】:

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

    【讨论】:

    • 感谢您的建议,但问题的答案是,经过一番尝试和再次谷歌搜索后,将 target 添加到配置中。我以为 ${project.build.directory} 会包含这个,但它没有。
    • @DavidReichelt:您为什么不将此作为您自己的答案发布并接受它?
    猜你喜欢
    • 1970-01-01
    • 2017-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多