我尝试通过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.