java.lang.NoClassDefFoundError:org/noggit/CharArr在添加要在solr中编制索引的文档时
我正在使用java客户端程序将数据添加到solr服务器的索引中。我的消息来源如下:-java.lang.NoClassDefFoundError:org/noggit/CharArr在添加要在solr中编制索引的文档时,java,solr,solrj,Java,Solr,Solrj,我正在使用java客户端程序将数据添加到solr服务器的索引中。我的消息来源如下:- SolrServer solrServer = new HttpSolrServer("http://10.219.224.91:4040/solr/test"); System.out.println("<ul>"); String[] passengerType={"Infant","Handicapped","Unaccompanied minor",
SolrServer solrServer = new HttpSolrServer("http://10.219.224.91:4040/solr/test");
System.out.println("<ul>");
String[] passengerType={"Infant","Handicapped","Unaccompanied minor", "General Category"};
for(int i = 0; i < 100; i++) {
SolrInputDocument solrInputDocument = new SolrInputDocument();
solrInputDocument.addField("id", new String("widget " + i));
// add three random categories
for(int j = 0; j < 3; j++) {
solrInputDocument.addField("category", passengerType[new Random().nextInt(passengerType.length)]);
}
solrInputDocument.addField("size", new Random().nextInt(10));
// this is cheating below - but saves us from the query string...
solrInputDocument.addField("text", "a");
solrServer.add(solrInputDocument);
System.out.println("<li> Adding: " + solrInputDocument + "</li>\n");
}
System.out.println("</ul>");
solrServer.commit();
SolrServer SolrServer=新的HttpSolrServer(“http://10.219.224.91:4040/solr/test");
System.out.println(“”);
String[]passengerType={“婴儿”、“残疾人”、“无人陪伴未成年人”、“一般类别”};
对于(int i=0;i<100;i++){
SolrInputDocument SolrInputDocument=新的SolrInputDocument();
addField(“id”,新字符串(“widget”+i));
//添加三个随机类别
对于(int j=0;j<3;j++){
solrInputDocument.addField(“category”,passengerType[new Random().nextInt(passengerType.length)]);
}
addField(“大小”,new Random().nextInt(10));
//这是下面的作弊-但将我们从查询字符串中解救出来。。。
solrInputDocument.addField(“文本”、“a”);
添加(solrInputDocument);
System.out.println(“- 添加:“+solrInputDocument+”
\n”);
}
System.out.println(“
”);
提交();
运行应用程序时,我得到:-
线程“main”java.lang.NoClassDefFoundError中出现异常:
org/noggit/CharArr位于
org.apache.solr.common.util.JavaBinCodec.(JavaBinCodec.java:474)
在
org.apache.solr.client.solrj.impl.BinaryResponseParser.processResponse(BinaryResponseParser.java:41)
在
org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:407)
在
org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:180)
在
org.apache.solr.client.solrj.request.AbstractUpdateRequest.process(AbstractUpdateRequest.java:117)
位于org.apache.solr.client.solrj.SolrServer.add(SolrServer.java:116)
位于org.apache.solr.client.solrj.SolrServer.add(SolrServer.java:102)
在IndexDriver.main(IndexDriver.java:39)处,由以下原因引起:
java.lang.ClassNotFoundException:org.noggit.CharArr位于
java.net.URLClassLoader$1.run(未知源代码)位于
java.net.URLClassLoader$1.run(未知源代码)位于
java.security.AccessController.doPrivileged(本机方法)位于
java.net.URLClassLoader.findClass(未知源代码)位于
位于的java.lang.ClassLoader.loadClass(未知源)
sun.misc.Launcher$AppClassLoader.loadClass(未知源)位于
java.lang.ClassLoader.loadClass(未知源)
这条线上有错误-
添加(solrInputDocument)
非常感谢您的帮助。我想您的程序中没有包含noggit-0.5.jar文件 从下载 或
然后将其导入项目库。您也可以使用solr框架中提供的jar
例如,如果您正在使用solr4.7.2,并且这些jar以solr-4.7.2\dist\solrj lib\的形式存在于文件夹中,那么请使用一个显示jar文件所有版本的站点,如上述,您可以找到依赖于solrj的必要jar