Sunspot::Solr::Server::JavaMissing:您需要一个Java运行时环境来运行Solr服务器

Sunspot::Solr::Server::JavaMissing:您需要一个Java运行时环境来运行Solr服务器,java,ruby-on-rails,solr,sunspot,sunspot-rails,Java,Ruby On Rails,Solr,Sunspot,Sunspot Rails,尝试使用sunspot启动Solr,但由于出现此错误而导致Java运行时环境出现问题 root@oktobTest:~# dokku run oktob bundle exec rake sunspot:solr:start rake aborted! Sunspot::Solr::Server::JavaMissing: You need a Java Runtime Environment to run the Solr server /app/vendor/bundle/ruby/2.1.

尝试使用sunspot启动Solr,但由于出现此错误而导致Java运行时环境出现问题

root@oktobTest:~# dokku run oktob bundle exec rake sunspot:solr:start
rake aborted!
Sunspot::Solr::Server::JavaMissing: You need a Java Runtime Environment to run the Solr server
/app/vendor/bundle/ruby/2.1.0/gems/sunspot_solr-2.2.0/lib/sunspot/solr/server.rb:203:in `ensure_java_installed'
/app/vendor/bundle/ruby/2.1.0/gems/sunspot_solr-2.2.0/lib/sunspot/solr/server.rb:27:in `initialize'
/app/vendor/bundle/ruby/2.1.0/gems/sunspot_solr-2.2.0/lib/sunspot/solr/tasks.rb:38:in `new'
/app/vendor/bundle/ruby/2.1.0/gems/sunspot_solr-2.2.0/lib/sunspot/solr/tasks.rb:38:in `server'
/app/vendor/bundle/ruby/2.1.0/gems/sunspot_solr-2.2.0/lib/sunspot/solr/tasks.rb:10:in `block (3 levels) in <top (required)>'
Tasks: TOP => sunspot:solr:start
(See full trace by running task with --trace)
这是
sudo update alternations--config java

root@oktobTest:~# sudo update-alternatives --config java
There are 3 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                            Priority   Status
------------------------------------------------------------
  0            /usr/lib/jvm/java-8-oracle/jre/bin/java          1073      auto mode
  1            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1071      manual mode
* 2            /usr/lib/jvm/java-7-oracle/jre/bin/java          1072      manual mode
  3            /usr/lib/jvm/java-8-oracle/jre/bin/java          1073      manual mode
我编辑了
/etc/profile
文件以导出受讨论和

我不确定上面的路径是否正确

config/sunspot.xml
文件

production:
  solr:
    hostname: localhost
    port: 8983
    log_level: WARNING
    path: /solr/production
    # read_timeout: 2
    # open_timeout: 0.5

development:
  solr:
    hostname: localhost
    port: 8982
    log_level: INFO
    path: /solr/development

test:
  solr:
    hostname: localhost
    port: 8981
    log_level: WARNING
    path: /solr/test

关于这个问题有一些话题。如果您确信服务器上的Java没有问题,请尝试将这一行“solr\u home:solr”粘贴到相关环境的配置文件(config/sunspot.yml)中,并通过“RAILS\u ENV=[your\u ENV]bundle exec sunspot:solr:start”启动solr服务器。对我来说,重新安装JDK()修复了在El Capitan中首次使用solr时出现的问题。我遇到了相同的错误。当运行以下命令时

$ 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工作。读这个()

在后台运行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

我确实执行了
solr\u home:solr
但没有成功,当我在命令中包含
RAILS\u ENV=production
时,我收到了
App oktob RAILS\u ENV=production不存在
对不起,但我认为您的机器/主机有问题,您可以看到,您甚至无法启动简单的命令。你的主机在哪里?你使用的是哪个发行版?我正在使用DigitalOcean,Ubuntu和与Dokku一起部署的Rails,但一切正常,演示应用程序运行在46.101.47.185和Solor上,所以本教程可能会有所帮助:是的,我使用了本文作为我的主要来源。
$ bundle exec rake sunspot:solr:stop -t 
$ bundle exec rake sunspot:solr:run -t