无法在libjvm.dylib(Mac OS)中找到方法JNI_GetCreatedJavaVMs

时间:2011-08-19 08:16:57

标签: java c++ macos jvm java-native-interface

我正在尝试在我的程序中嵌入java虚拟机,但我libjvm.dylib缺少JNI_GetCreatedJavaVMs。

该程序在Windows和Linux平台上都能正常运行。 但是,在Mac OS上运行时,我得到: 无法在共享库libjvm.dylib中找到方法JNI_GetCreatedJavaVM 例外。 我使用位于 /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Libraries 目录中的 libjvm.dylib

我认为问题在于使用错误的libjvm,但是,我无法在其他目录中找到它。

我很高兴被指向libjvm的正确道路。

提前谢谢, 卡伦。

2 个答案:

答案 0 :(得分:1)

JNI_GetCreatedJavaVMs 以及其他JVM函数位于 JavaVM 文件中,该文件位于/System/Library/Frameworks/JavaVM.framework/目录中。< / p>

答案 1 :(得分:0)

如果尝试使用Oracle JRE,请不要使用libjvm.dylib。这将导致MacOS弹出一个窗口,要求用户安装Java6(大多数用户未安装Java6)。而是使用libjli.dylib。它具有相同的功能,但会绕过Apple的弹出警告。然后将JRE与您的应用打包在一起。