我尝试通过Solrj查询Solr
这是我的代码
public class ReadFromSolr { public static void main(String[] args) throws MalformedURLException,SolrServerException { String url = "http://localhost:8983/solr"; try{ SolrServer server = new CommonsHttpSolrServer(url); ModifiableSolrParams params = new ModifiableSolrParams(); params.set("qt","/select"); params.set("q","name"); QueryResponse response = server.query(params); System.out.println("response = " + response); } catch (MalformedURLException ex) { ex.printStackTrace(); } catch (SolrServerException ex) { ex.printStackTrace(); } }
}
它给了我一个例外
PS.我的peoject中有以下罐子:
** apache – commons-logging,
* httpclient -4.2,
httpcore 4.2.1,
slf4j – api 1.6.2,
apache – solr – solrj -1.4.0 ***
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/codec/DecoderException at org.apache.commons.httpclient.HttpMethodBase.<init>(HttpMethodBase.java:220) at org.apache.commons.httpclient.methods.GetMethod.<init>(GetMethod.java:89) at org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.request(CommonsHttpSolrServer.java:288) at org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.request(CommonsHttpSolrServer.java:243) at org.apache.solr.client.solrj.request.QueryRequest.process(QueryRequest.java:89) at org.apache.solr.client.solrj.SolrServer.query(SolrServer.java:118) at com.gismo.ReadFromSolr.main(ReadFromSolr.java:27) Caused by: java.lang.ClassNotFoundException: org.apache.commons.codec.DecoderException at java.net.URLClassLoader$1.run(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source)
解决方法
类路径上需要
commons-codec.jar.