C ++ JNI想要安装Mac Legacy JRE6

时间:2016-09-14 05:39:13

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

我安装了JDK8,并且我的JAVA_HOME被设置为正确的路径。我可以毫无问题地使用Java。但是,当我尝试从C ++运行Java代码时,它会提示我安装一个非常旧版本的JRE6。

在我的代码中,我有:

JavaVMInitArgs vm_args;
vm_args.version = JNI_VERSION_1_8;

所以请求JRE6很奇怪。如何让C ++ JNI使用我现有的JDK8安装?

JDK8 is installed, but JRE6 is promoted to install.

1 个答案:

答案 0 :(得分:2)

由于某些原因,当代码使用libjvm.dylib时会发生这种情况。还有libjli.dylib具有相同的功能但跳过了JRE 6对话框。我从来没有费心去检查为什么会这样。

如果您与-ljvm相关联,请将其替换为-ljli。如果您将dlopendlsym一起使用,只需使用其他库名称。