java.lang.NoClassDefFoundError:org / apache / solr / client / solrj / impl / HttpSolrServer

时间:2015-04-09 15:26:27

标签: servlets solr

我正在尝试使用solrj从我的servlet执行查询,但是我遇到问题,显然找不到HttpSolrServer类,我不知道为什么。下面是我的servlet代码

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    // TODO Auto-generated method stub

      HttpSolrServer server = new HttpSolrServer("http://localhost:8983/solr");
        SolrQuery query = new SolrQuery();
        QueryResponse QueryResponse;
        try {
        QueryResponse = server.query(query);
         SolrDocumentList results = QueryResponse.getResults();
         System.out.println("hello2");
          for (int i = 0; i < results.size(); ++i) {
            System.out.println(results.get(i));

          }
    } catch (SolrServerException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

}

提前致谢

2 个答案:

答案 0 :(得分:1)

您需要确保在Web服务器的lib文件夹中部署solrj(或将其包含在战争的WEB-INF lib文件夹中)。您获得的错误是因为当它执行代码时,它无法找到solrj。

答案 1 :(得分:0)

您的Servlet位于Web应用程序中,该应用程序部署在给定的servlet引擎/应用程序服务器下。

现在,您的Web应用程序有一个WEB-INF / lib文件夹,其中包含所有必需的依赖项(即jar)。您应该从Solr发行版获取solrj及其所有依赖项,并将它们全部放在WEB-INF / lib文件夹中