运行JNI程序时出现“java/lang/NoClassDefFoundError:java/lang/Object”
我为安装scribe&;hdfs。值得赞赏的是,我解决了大部分问题。然而,我被困在这里
我安装了libhdfs,并编写了一个“Hello world”测试:
#include <iostream>
#include <string>
using namespace std;
#include "hdfs.h"
int main(int argc,char *argv[]){
string host = "10.210.74.143";
int port = 9000;
hdfsFS fs = hdfsConnect(host.c_str(),port);
return 0;
}
当我运行它时,它会打印此消息:
Error occurred during initialization of VM java/lang/NoClassDefFoundError: java/lang/Object
我发誓我已经设置了类路径
# 1 楼答案
首先,您运行的是C程序,而不是使用Java程序中的动态库。你真的打算这么做吗
如果是这样,可能需要显式创建JVM(有趣的): 请参阅http://www.inonit.com/cygwin/jni/invocationApi/c.html,除非hdfsConnect函数为您执行此操作