java.lang.NoClassDefFoundError:org/noggit/CharArr在添加要在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",

我正在使用java客户端程序将数据添加到solr服务器的索引中。我的消息来源如下:-

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