これは、solr インデックスのクエリに使用しているサーブレット コードです。
import java.io.*;
import java.net.*;
import java.text.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
//Solr Imports
import org.apache.solr.client.solrj.SolrServer;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.impl.CommonsHttpSolrServer;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.client.solrj.SolrQuery;
import org.apache.solr.common.params.ModifiableSolrParams;
import org.apache.solr.client.solrj.request.ContentStreamUpdateRequest;
import org.apache.solr.common.SolrInputDocument;
import org.apache.solr.client.solrj.request.AbstractUpdateRequest;
/*
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;
*/
public class HelloWorldExample extends HttpServlet {
public void doGet(HttpServletRequest request,HttpServletResponse response) throws IOException, ServletException
{
PrintWriter out = response.getWriter();
String inputStr=request.getParameter("input");
out.println("<html><h1>" + inputStr + "</h1></body></html>");
//try {
SolrServer server = new CommonsHttpSolrServer("http://localhost:8080/solr/");
SolrQuery solrQuery = new SolrQuery();
//solrQuery.setQuery("fileName:"+input);
solrQuery.setQuery("Latitude:"+32.55668);
QueryResponse rsp = server.query(solrQuery);
//SolrDocumentList x = rsp.getResults();
System.out.println(rsp);
}
catch (SolrServerException e) {
e.printStackTrace();
}
}
}
私はこのコードを使用してコンパイルしています
D:\xampp\tomcat\webapps\examples\WEB-INF\classes>javac -classpath .;D:\JAR\servl et-api.jar;D:\JAR\1solr-core-1.3.0.jar;D :\JAR\1solr-solrj-1.3.0.jar;D:\JAR\1solr -common-1.3.0.jar;D:\JAR\apache-solr-solrj-1.4.0.jar HelloWorldExample.java
このコードは問題なくコンパイルされます。ただし、このservlwtを実行するとエラーが発生します:
タイプ例外報告メッセージ
サーバーで内部エラー () が発生したため、この要求を実行できませんでした。
例外
javax.servlet.ServletException: サーブレットの実行が例外の根本原因をスローしました
java.lang.NoClassDefFoundError: org/apache/solr/client/solrj/impl/CommonsHttpSolrServer HelloWorldExample.doGet(HelloWorldExample.java:35) javax.servlet.http.HttpServlet.service(HttpServlet.java:621) javax.servlet.http .HttpServlet.service(HttpServlet.java:722)