无法使用 VC++ 中的 LoadLibrary() 函数在 Windows 7 上加载 JVM
我在我的应用程序中面临一个问题,如下:
我的应用程序中的 Java 类使用 JRE6 文件执行,因此我在我的应用程序中捆绑了 JRE6 文件夹。我的应用程序中的 exe 使用函数 Loadlibrary(jvm.dll 的路径)加载 JVM。这在 XP 上工作正常,但在 Windows 7 机器上会抛出错误 - “无法加载 JVM 错误”。 可能是什么问题?有什么建议吗?
如果我将上述 exe(来自我的应用程序的 exe)与以下路径的 JRE6 文件夹捆绑在一起,则此错误在 Windows 7 计算机上消失: JRE6/bin/MyExe。 exe 似乎能够在路径 JRE6/bin/MyExe 中找到其 JVM 依赖项。但是,如果我将 exe 与 JRE6 捆绑在一起并将其与我的应用程序一起分发,是否会违反 JRE6 版权和许可?
注意:我的应用程序中的 Exe 仅加载 JVM,不会添加/修改/删除 JRE6 文件夹中的任何文件。
I am facing one problem in my application as following:
Java classes from my application uses JRE6 files for execution so I have bundled JRE6 folder in my application. An exe from my application loads JVM using function: Loadlibrary(jvm.dll's path). This works fine on XP but on Windows 7 machine an error is being thrown - "Unable to load JVM error."
What could be the issue? any suggestion?
This error disappears on Windows 7 machine if I bundle the above exe(exe from my application) with JRE6 folder at the following path:
JRE6/bin/MyExe.
It seems that exe is able to find its JVM dependencies at the path - JRE6/bin/MyExe. But would it be JRE6 Copyright and Licensing violation if I bundle my exe with JRE6 and distribute it along with my application.
NOTE: Exe from my application only loads JVM and does not add/modify/delete any file from JRE6 folder.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
请尝试这个。
重新安装使用 jvm.dll 文件的程序。如果在使用特定程序时发生 jvm.dll DLL 错误,重新安装该程序应该替换该文件。
please, try this.
Reinstall the program that uses the jvm.dll file. If the jvm.dll DLL error occurs when you use a particular program, reinstalling the program should replace the file.