在安装了我的应用程序的某些计算机(但不是全部)中,在看起来成功安装之后,当您尝试运行它时,它会显示以下错误:
该文件存在于该目录中,因此,我不确定为什么它说它找不到该库。
该错误后面跟着
最后:
然后没有任何反应。该应用程序无法启动。有什么想法会发生什么?
有些人指出这个错误报告似乎在讨论这个问题:https://bugs.openjdk.java.net/browse/JDK-8191176但是我用8u162以及8u172构建了我的应用程序(早期访问,特别是jdk-8u172-ea-bin- b03-windows-x64-18_jan_2018),结果是一样的。它发生在Windows 10 Pro 1703以及1709上。
我不确定还有什么可能相关。
答案 0 :(得分:4)
您是否受JDK-8191176 : JavaFX Self-Contained Application fails with error "Failed to find library: jvm.dll"的影响,影响了8u151,并在8u162中得到修复。
在具有相应JDK版本的Windows 10 Enterprise build 1709上再次进行了验证,并且可以按报告确认问题。使用JDK 8u151 / 8u152检查时,会弹出“找不到库:jvm.dll”以及后续错误对话框。
也许您可以查看使用8u162或更新版本时会发生什么。
答案 1 :(得分:1)
这是错误的错误消息,实际上意味着找不到某些依赖.dll。 jvm.dll的依赖项之一,而不是jvm.dll本身。
来自https://bugs.openjdk.java.net/browse/JDK-8191176:
对于任何寻求解决方案的人,我都提取了" msvcr100.dll"从Java并将其添加到我的应用程序源。在构建我的JavaFX项目时使用JavaPackager(使用InnoSetup)时,我只需在setup.iss脚本中添加这些行,以便将文件放在application.exe旁边:
[Files]
Source: "YOUR_APPLICATION\app\msvcr100.dll";
DestDir: "{app}";
Flags: ignoreversion