我有将代码添加到Solr的代码。我在Solr 6.6.2和Solr 7.2.1中测试了它并且失败了。
import java.io.IOException;
import org.apache.solr.client.solrj.SolrClient;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.impl.HttpSolrClient;
import org.apache.solr.common.SolrInputDocument;
public class AddingDocument {
public static void main(String args[]) throws Exception {
String urlString ="http://localhost:8983/solr/Solr_example";
SolrClient Solr = new HttpSolrClient.Builder(urlString).build();
//Preparing the Solr document
SolrInputDocument doc = new SolrInputDocument();
//Adding fields to the document
doc.addField("id", "007");
doc.addField("name", "James Bond");
doc.addField("age","45");
doc.addField("addr","England");
//Adding the document to Solr
Solr.add(doc);
//Saving the changes
Solr.commit();
System.out.println("Documents added");
}
}
编译成功如下。
javac -cp。:/ opt / solr / solr-6.6.2 / dist / solr-solrj-6.6.2.jar AddingDocument.java
然而,当我运行它时,它给了我一些错误信息。
java -cp。:/ opt / solr / solr-6.6.2 / dist / solr-solrj-6.6.2.jar AddingDocument
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/http/Header
at org.apache.solr.client.solrj.impl.HttpSolrClient$Builder.build(HttpSolrClient.java:892)
at AddingDocument.main(AddingDocument.java:13)
Caused by: java.lang.ClassNotFoundException: org.apache.http.Header
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:338)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 2 more
它出了什么问题?这个urlString是否正确?
感谢任何帮助!
添加jar文件后,编译成功。
javac -cp。:/ opt / solr / solr-6.6.2 / dist / *:/ opt / solr / solr-6.6.2 / dist / solrj-lib / * AddingDocument.java
将doc添加到solr中。但是,有一些关于slf4j的错误消息如下所示。
java -cp。:/ opt / solr / solr-6.6.2 / dist / *:/ opt / solr / solr-6.6.2 / dist / solrj-lib / * AddingDocument
SLF4J:无法加载类“org.slf4j.impl.StaticLoggerBinder”。 SLF4J:默认为无操作(NOP)记录器实现 SLF4J:有关详细信息,请参阅http://www.slf4j.org/codes.html#StaticLoggerBinder。 已添加文件