在Sunspot gem中启动SOLR的异常抛出

时间:2013-12-01 06:01:08

标签: java ruby-on-rails solr sunspot sunspot-rails

我刚安装了sunspot gem(最新版本),包括嵌入式solr到我的应用程序中。当我运行“rake sunspot:solr:start”时它表示服务器已启动,但后来我无法连接而且我认为它安静地死了 - 我找不到它的日志文件。

所以我的第一个问题是:solr日志文件应该在哪里?我检查了我的应用程序日志目录,除了标准开发日志之外没有其他日志。

所以我做了一些搜索,并运行了rake sunspot:solr:run - 它抛出了这个错误:

java.lang.NoSuchMethodError: org.slf4j.helpers.MessageFormatter.arrayFormat(Ljava/lang/String;[Ljava/lang/Object;)Lorg/slf4j/helpers/FormattingTuple

所以我做了一些搜索,一切都表明了类路径问题,但我无法弄清楚如何解决它,或者为什么会发生这种情况。

以下是相关的问题:

Exception thrown while using logback/slf4j

Exception thrown while using logback/slf4j/java

我在类路径上没有任何其他条目:

  

$ java -version java version“1.7.0_45”Java(TM)SE Runtime   环境(build 1.7.0_45-b18)Java HotSpot(TM)64位服务器VM   (建立24.45-b08,混合模式)

$ echo $CLASSPATH

什么都不打印

并尝试直接运行solr并没有再向我提供问题所在的信息:

$ java -jar start.jar -verbose:CLASS --dry-run
/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/jre/bin/java -verbose:CLASS -Djetty.home=/Users//.rvm/gems/ruby-2.0.0-p247/gems/sunspot_solr-2.1.0/solr -cp /Users//.rvm/gems/ruby-2.0.0-p247/gems/sunspot_solr-2.1.0/solr/lib/jetty-xml-8.1.8.v20121106.jar:/Users//.rvm/gems/ruby-2.0.0-p247/gems/sunspot_solr-2.1.0/solr/lib/servlet-api-3.0.jar:/Users//.rvm/gems/ruby-2.0.0-p247/gems/sunspot_solr-2.1.0/solr/lib/jetty-http-8.1.8.v20121106.jar:/Users//.rvm/gems/ruby-2.0.0-p247/gems/sunspot_solr-2.1.0/solr/lib/jetty-continuation-8.1.8.v20121106.jar:/Users//.rvm/gems/ruby-2.0.0-p247/gems/sunspot_solr-2.1.0/solr/lib/jetty-server-8.1.8.v20121106.jar:/Users//.rvm/gems/ruby-2.0.0-p247/gems/sunspot_solr-2.1.0/solr/lib/jetty-security-8.1.8.v20121106.jar:/Users//.rvm/gems/ruby-2.0.0-p247/gems/sunspot_solr-2.1.0/solr/lib/jetty-servlet-8.1.8.v20121106.jar:/Users//.rvm/gems/ruby-2.0.0-p247/gems/sunspot_solr-2.1.0/solr/lib/jetty-webapp-8.1.8.v20121106.jar:/Users//.rvm/gems/ruby-2.0.0-p247/gems/sunspot_solr-2.1.0/solr/lib/jetty-deploy-8.1.8.v20121106.jar:/Users//.rvm/gems/ruby-2.0.0-p247/gems/sunspot_solr-2.1.0/solr/lib/jetty-util-8.1.8.v20121106.jar:/Users//.rvm/gems/ruby-2.0.0-p247/gems/sunspot_solr-2.1.0/solr/lib/jetty-io-8.1.8.v20121106.jar org.eclipse.jetty.xml.XmlConfiguration /var/folders/dm/f2j60c396xl3s7y0jt_mgmvw0000gn/T/start1361372392858055131.properties /Users//.rvm/gems/ruby-2.0.0-p247/gems/sunspot_solr-2.1.0/solr/etc/jetty.xml

有人可以建议如何从这个错误中恢复过来吗?

1 个答案:

答案 0 :(得分:0)

我发现了这个问题,这确实是一个类路径问题。幸运的是,我有一个旧版本的SOLR报告slf4j被绑定两次(但仍然开始)。

所以这引导我到了JAR的位置,所以我把这些JAR从/ Library / Java / Extensions目录移出了它有一个副本(以及我认为的SOLR的lib目录)。