2023-01-20 302
我的简单命令行应用程序:
int _tmain(int argc, _TCHAR* argv[])
{
JavaVM *jvm;
JNIEnv *env;
JavaVMInitArgs vm_args;
JavaVMOption options[1];
options[0].optionString = "-Djava.class.path=."; //Path to the java source code
vm_args.version = JNI_VERSION_1_6; //JDK version. This indicates version 1.6
vm_args.nOptions = 1;
vm_args.options = options;
vm_args.ignoreUnrecognized = 0;
jint ret = JNI_CreateJavaVM(&jvm, (void**)&env, &vm_args);
return 0;
}
给我:
Error occurred during initialization of VM Unable to load native library: Can't find dependent libraries
从未达到”返回0″处的断点. jvm.dll与我的命令行应用程序相同的目录.
我不明白这是什么问题.有任何想法吗?提前
我认为您的问题是由这个问题在Sun Jni Faq中.
tl; dr版本:不要移动JVM安装的DLL.
在我的经验中,
原因
也许,jvm.dll位于路径下方.
c:\ program文件\ java \ jdk1.6.0_xx \ jre \ bin \ client \ client \(a)
和下面的文件夹包含许多DLL,jvm需求;
c:\ program文件\ java \ jdk1.6.0_xx \ jre \ bin \(b)
so,JMV.DLL(您动态链接)试图在其父文件夹(b)中搜索全部DLL.
解决方案
不要将jvm.dll复制到您.exe所在的同一文件夹!
检查您的路径系统变量.它必须包含(a)和(b)路径.
如果是这样,也许您的.EXE将成功执行.
以上所述是小编给大家介绍的它不会创建一个Java VM(JNI)。,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!
原文链接:https://77isp.com/post/26014.html
=========================================
https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。
数据库技术 2022-03-28
网站技术 2022-11-26
网站技术 2023-01-07
网站技术 2022-11-17
Windows相关 2022-02-23
网站技术 2023-01-14
Windows相关 2022-02-16
Windows相关 2022-02-16
Linux相关 2022-02-27
数据库技术 2022-02-20
抠敌 2023年10月23日
嚼餐 2023年10月23日
男忌 2023年10月22日
瓮仆 2023年10月22日
簿偌 2023年10月22日
扫码二维码
获取最新动态