gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 06:14:49 31 4
gpt4 key购买 nike

第一,抱歉我的英语不好,我是法国人,但我认为这是解决我的问题的最佳网站!

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

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

DLL 位于 jar 的根目录中,因此我可以使用此解决方案提取并加载它们:https://stackoverflow.com/a/4691879/4261971(它们被提取到 java 临时文件夹中)。我用System.setProperty("java.library.path", System.getProperty("java.library.path") + MyLibDirectory)函数引用 java.library.path 中的 dll,并且成功了!如果我使用 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 库的函数(简化):

public String getfileVersion(String fileDir) {
String version = "";
if ((!fileDir.isEmpty()) && (!"".equals(fileDir))) {
FileVersion info = Win32.getFileVersion(fileDir);
version = info.getFileVersion();
}
return version;
}

小程序的最终目的是直接从全局 Web 应用程序检查用户计算机并生成日志。

Maven pom.xml 中用于包含 dll 的部分:

<build>
<resources>
<resource>
<directory>libs</directory>
<includes>
<include>sigar-amd64-winnt.dll</include>
<include>sigar-x86-winnt.dll</include>
</includes>
</resource>
</resources>

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

如果您想了解更多信息,请询问!

最佳答案

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

关于java.library.path : sigar-amd64-winnt. dll已设置但未找到,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27275808/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com