【问题标题】:Sunspot Solr not starting with "You need a Java Runtime Environment to run the Solr server"Sunspot Solr 没有以“您需要 Java 运行时环境来运行 Solr 服务器”开头
【发布时间】:2014-01-25 01:07:15
【问题描述】:

在重新部署我的应用程序并重新启动我的服务器之前,Sunsport Solr 停止并且无法再启动,尽管它在重新部署 + 重新启动之前工作。当我跑步时

rake sunspot:solr:run RAILS_ENV=production --trace

我收到以下内容

** Invoke sunspot:solr:start (first_time)
** Invoke environment (first_time)
** Execute environment
[deprecated] I18n.enforce_available_locales will default to true in the future. If you really want to skip validation of your locale you can set I18n.enforce_available_locales = false to avoid this message.
** Execute sunspot:solr:start
rake aborted!
You need a Java Runtime Environment to run the Solr server

但是 java -version 返回以下内容:

java version "1.7.0_45"
OpenJDK Runtime Environment (rhel-2.4.3.4.el6_5-x86_64 u45-b15)
OpenJDK 64-Bit Server VM (build 24.45-b08, mixed mode)

不知道该怎么办了,已经尝试从应用程序中删除 solr 文件夹并再次运行安装 (rails g sunspot_solr:install),但没有幸运...

我正在使用 Ruby 2.0.0 Rails 4.0.0.rc1 和最后一个版本的 sunspot solt

【问题讨论】:

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


    【解决方案1】:

    'rake' 无法找到 java.util. 确保 java 可执行文件位于 rake 任务可以看到的路径中。

    【讨论】:

    • 你能给我更多的指示吗?谢谢!
    • 确保在同一个shell中执行java和rake命令docs.oracle.com/javase/tutorial/essential/environment/…
    • 好吧,一切似乎都很好,至少在 java 中,我如何检查 rake 在哪里寻找路径?
    • 在您的控制台上运行:bundle exec rake --execute 'puts `which java`'bundle exec rake --execute 'puts `env`'
    • 谢谢疯子!我用你的命令得到 /usr/bin/java,没有 rake 命令的路径相同....
    【解决方案2】:

    您需要确保您拥有有效的 Java 运行时(例如 /usr/bin/java)并且还安装了有效的 JDK

    当你运行 `which java` 时,如果你没有安装有效的 JDK,你会得到一个错误。

    如果两者都没有安装,您将无法运行 Solr 服务器。

    【讨论】:

      【解决方案3】:

      我遇到了同样的错误。运行以下命令时。

      $ bundle exec rake sunspot:solr:start -t
      
      ** Invoke sunspot:solr:start (first_time)
      ** Invoke environment (first_time)
      ** Execute environment
      ** Execute sunspot:solr:start
      rake aborted!
      Sunspot::Solr::Server::JavaMissing: You need a Java Runtime Environment to run the Solr server
      

      通过使用这个命令

      $ bundle exec rake --execute 'puts which java'  
      

      我得到'/usr/bin/java'。

      但是通过下面的命令

      $ java --version -> 'No Java runtime present, requesting install.
      

      我使用的是 Mac OSX,它会提示一条消息,然后单击更多信息会转到:

      oracle.com/technetwork/java/javase/downloads/index.html
      

      所以我从链接中安装了 JDK 8:

      http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
      

      Mac OSX

      http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-macosx-x64.dmg
      
      $ java -version
      java version "1.8.0_131"
      Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
      Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)
      

      在 Solr 服务器成功运行之后:) .

      在您的情况下,您必须从上述链接重新安装 JDK 才能使其正常工作

      你有 openJDK 运行环境。切换到 Java(TM) SE 运行时环境,以使 Solr 工作。阅读本文 (difference-between-oracle-jdk-and-open-jdk)

      通过

      运行 Solr 服务器后台
      $ bundle exec rake sunspot:solr:start -t
      
      Successfully started Solr ...
      

      停止 Solr 服务器:

      $ bundle exec rake sunspot:solr:stop -t 
      

      在前台启动solr服务器:

      $ bundle exec rake sunspot:solr:run -t
      

      【讨论】:

        猜你喜欢
        • 2015-07-28
        • 2014-07-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多