Windows 10更新 - java“无法找到指定的模块。”

时间:2016-06-20 06:51:46

标签: java dll windows-10

我的电脑一直处于开启状态,并且几个月后它一直希望我从win7更新到win10。我总是拒绝,但有一天早上我发现我的电脑更新了,并出现了一个新问题。

我有一些java项目在win7上工作正常,现在我不能使用DLL,错误是“java.lang.UnsatisfiedLinkError:无法加载库'CidGen64.dll':指定的模块不能找到“。

问题仅出现在NetBeans中,当我使用JRE运行应用程序时,它可以正常工作。我尝试像这样更改libpath,但错误是一样的。

System.setProperty(“java.library.path”,LibPath);

UPDATE1: 这不是重复,我应用了所谓的重复的步骤,并没有工作。它是一个windows 10< - >。 Netbeans或JDK问题。

UPDATE2: 我发布了一个在XP中运行的NetBeans项目(我没有win7),在Windows 10中失败了。The project is here

1 个答案:

答案 0 :(得分:1)

让我们先解决问题所在。并不是带有DLL的Java程序在Windows 10上不起作用。这是不可信的。如果它确实是真的那么,到现在为止,这些尖叫声已经在地球上传播了数千次。

对我来说,有两个看似合理的解释:

  1. 您的JDK和/或Netbeans安装已被升级所困扰。解决方案:卸载两者,下载最新副本并重新安装。

  2. 不知何故,您没有正确指定库路径。例如,你说你“检查过libpath是否正确” ......但你实际上并没有告诉我们它是什么。 (我可以想到可能错误的3种非显而易见的方式。)

  3. 另一种可能性是它是32位JVM与64位DLL问题。但是,这不符合您提供的证据。同样存在文件权限问题。

      

    从代码设置java.library.path也应该起作用

    这取决于:

    1. 您设置了正确的库路径,
    2. 很快就发生了setProperty调用。
    3. 最后,如果你将-verbose:jni添加到java命令中,它应该告诉你从哪里加载本机库,并且(我认为)在库加载失败时为你提供更多信息。