我们在 java 7 中有一个类,需要从本机代码加载它。我已经将 java 6 与 JNI 一起使用,但 java 6 无法加载该类。所以我安装了新的 JDK,更改了我的 VC 项目中的包含目录和链接引用等。一切都很好,直到我想从 JNI 启动 jre7:
JNI_CreateJavaVM采用vm_args.version参数中的 java 版本,但没有比 1.6 更新的版本的定义。
JavaVMInitArgs vm_args;
...
vm_args.version = JNI_VERSION_1_6;
vm_args.nOptions = 2;
vm_args.options = options;
vm_args.ignoreUnrecognized = 0;
int ret = JNI_CreateJavaVM(&jvm, (void**)&env, &vm_args);
调用FindClass
java7 类显然会产生UnsupportedClassVersionError。
问题:如何创建一个 java7 JVM JNI_CreateJavaVM
?