首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java.library.path :已设置sigar amd64-winnt.dll,但未找到

java.library.path :已设置sigar amd64-winnt.dll,但未找到
EN

Stack Overflow用户
提问于 2014-12-03 23:43:50
回答 1查看 2.2K关注 0票数 1

首先,对不起我的英语,我是法国人,但我认为这是最好的网站来回答我的问题!

我正在尝试将两个dll放入我的jar中: sigar-amd64-winnt.dll和sigar-x86-winnt.dll

这是一个Maven项目,目标是为一个更大的项目制作一个applet,所以我不能把它放在系统或用户文件夹中。

DLL位于jar的根目录中,因此我可以使用以下解决方案解压缩并加载它们:https://stackoverflow.com/a/4691879/4261971 (它们解压缩在java temp文件夹中)。我使用System.setProperty("java.library.path", System.getProperty("java.library.path") + MyLibDirectory)函数来引用java.library.path中的动态链接库,并且它成功了!如果我使用System.getProperty("java.library.path"),我可以看到它。

但是错误总是一样的:

no sigar-x86-winnt.dll in java.library.path at org.hyperic.sigar.Sigar.loadLibrary(Sigar.java:172) etc...

调用sigar库的函数(简化):

代码语言:javascript
复制
public String getfileVersion(String fileDir) {
    String version = "";
    if ((!fileDir.isEmpty()) && (!"".equals(fileDir))) {
        FileVersion info = Win32.getFileVersion(fileDir);
        version = info.getFileVersion();
    }
    return version;
}

applet的最终功能是直接从全局web应用程序检查用户计算机并生成日志。

Maven pom.xml中包含dlls的部分:

代码语言:javascript
复制
<build>
<resources>
  <resource>
    <directory>libs</directory>
    <includes>
      <include>sigar-amd64-winnt.dll</include>
      <include>sigar-x86-winnt.dll</include>          
    </includes>
  </resource>
</resources>

我在这个问题上工作了三个工作日,现在我不明白我的错误,所以如果你能帮助我,我会爱你一生!(lol)

如果你想要更多的信息,尽管问吧!

EN

回答 1

Stack Overflow用户

发布于 2017-09-05 17:20:26

System.setProperty("java.library.path",System.getProperty("java.library.path") + System.getProperty("path.separator")+ MyLibDirectory);或System.setProperty("org.hyperic.sigar.path",MyLibDirectory);

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27275808

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档