我正在使用JNI从jar加载类。如果我在VM Options中添加所需的jar,那么我可以从该jar加载任何类。
JavaVMOption options[1];
options[0].optionString = "-Djava.library.path=xyz.jar";
然而,如果我在系统环境变量(CLASSPATH)中包含jar路径,那么无法从该jar加载任何类;即使它是classpath的一部分。
答案 0 :(得分:2)
当您创建JVM时,您负责设置类路径 - 您需要读取环境变量并将其传递给JNI_CreateJavaVM
。 JNI_GetDefaultJavaVMInitArgs
可以为您设置此项,但您需要调用它并将init args传递给JNI_CreateJavaVM