我有两个分支:开发和另一个我做出改变的分支。
一切都很好,直到我检查了我的开发分支,发现它在我的分支之前,并且在那里有一些红宝石宝石更新。
我检查了我的开发分支,想检查一下测试是什么,所以运行RSpec测试,发现所有测试都失败了,所以我决定尝试在我的分支上运行测试。当我更改分支时,我再次执行bundle update
,并运行测试,但它们也都失败了。在我通过开发测试更新gems之前。
测试显示Solar出了问题,所以进入控制台并希望对其进行索引,并显示:
Indexing Irec::Application
rake aborted!
RSolr::Error::Http: RSolr::Error::Http - 500 Internal Server Error
Error: Server Error</pre></p><h3>Caused by:</h3><pre>java.lang.NullPointerException
at org.apache.solr.servlet.SolrDispatchFilter.authenticateRequest(SolrDispatchFilter.java:241)
at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:186)
at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:179)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
URI: http://localhost:8982/solr/development/update?wt=ruby
Request Headers: {"Content-Type"=>"text/xml"}
Request Data: "<?xml version=\"1.0\" encoding=\"UTF-8\"?><add><doc>
我尝试some suggested things我在Stack Overflow上找到了其他地方,但他们并没有解决我的问题。有人知道如何解决这个错误吗?
答案 0 :(得分:0)
我通过错误消息RSolr::Error::Http: RSolr::Error::Http - 500 Internal Server Error
找到了这个问题。
我有多个Java版本,并且不想在外壳的配置文件(例如JAVA_HOME
)中永久设置~/.bash_profile
,因为solr依赖于我不想使用的Java版本是我的默认设置,因此我在启动solr之前设置了它。
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_261.jdk/Contents/Home
bundle exec rake sunspot:solr:start
答案 1 :(得分:-1)
解决方案:
从项目中删除了solr地图并重新启动了太阳黑子:solr。