从C ++调用Java - JNI_CreateJavaVM调用exit()?

时间:2015-03-27 14:07:51

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

我正在运行Windows 7 64位和Java 1.8。当我尝试调用JNI_CreateJavaVM时,程序退出。它没有"崩溃",实际上是调用exit()。 (!!)

我已经研究过,并发现了其他讨论:

Invoking Java from C++: how to catch/detect a fatal JVM error?

JNI_CreateJavaVM() terminates with exit code 1

他们没有解决问题。

因此,如果环境设置不正确,程序将消失。我的任务是创建一个必须使用Java lib执行的应用程序。如果用户环境(我无法控制)没有设置好,或者稍后修改,那么程序就会消失,并且#34;在那里我没有能力做任何防御性编码!

当一些甲骨文家伙认为这是一个好主意时,会出现什么类型的精神障碍?

Java安装自己并使用目录C:\ PROGRAMDATA \ ORACLE \ JAVA \ JAVAPATH修改路径...并且当前版本的Java有一堆快捷方式(" C:\ Program文件(x86)\ Java \ jre1.8.0_31 \ bin"在我的例子中)。如果我必须修改路径以指向JVM dll的位置(方便地不在同一位置,但在子目录中),稍后更新Java并更改这些快捷方式,路径仍将指向旧的DLL。

有没有人找到办法实现这一目标?我的意思是强有力的?换句话说,虽然仍然是一个优秀的程序员?因为JNI / JVM环境肯定会阻止你这样做。

0 个答案:

没有答案