0

我已经在 Windows 中的 tomcat 7 上配置了 solr,所以当我手动启动 tomcat 服务器并且当我点击 solr 时,它在我的浏览器中搜索得很好。

当我使用 main 方法编写一个 java 类时,结果被提取并显示在控制台上。

public class Code{
public static void main(String[] args) throws MalformedURLException, SolrServerException {
SolrServer solr = new CommonsHttpSolrServer("http://192.168.16.221:8080/solr");
ModifiableSolrParams params = new ModifiableSolrParams();
params.set("q", "subhash");

System.out.println("response = " + params);
QueryResponse response = solr.query(params);
System.out.println("response = " + response);
}
}

但是当我在方法中使用相同的代码并使用其对象调用此方法时,会显示此错误

java.lang.NoClassDefFoundError: org/apache/solr/client/solrj/SolrServerException

热切地等待您的回复。

4

1 回答 1

1

您需要使用“java”的“-classpath”命令行选项来告诉它您需要的所有库都在哪里。默认的 CLASSPATH 仅包括系统类等。

因此,如果您的 Code.class 文件与 solr-xyzjar 一起在当前目录中,那么您需要执行以下操作:

$ java -classpath .:solr-x-y-z.jar Code

如果 Solr 没有一堆自己的依赖项,我会感到惊讶,这意味着您需要在类似于上面的 -classpath 中包含一堆 JAR 文件。

这是 Java 101。

于 2012-05-24T15:16:21.573 回答