Sunspot::Solr::Server::JavaMissing:您需要一个Java运行时环境来运行Solr服务器
尝试使用sunspot启动Solr,但由于出现此错误而导致Java运行时环境出现问题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.
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