gpt4 book ai didi

ruby-on-rails - 使用 Elastic Search gem 运行 jruby 应用程序。

转载 作者:行者123 更新时间:2023-11-28 21:51:41 31 4
gpt4 key购买 nike

我正在尝试使用 jruby 生成 Rails 项目的已编译应用程序并将其托管在 Tomcat 服务器 上。编译后,我正在努力与 elasticsearch 建立连接。

以下是我采取的步骤:

  • 已安装 Jruby-9.2.0.0
  • 创建了一个 jruby on rails 应用程序
  • Gemfile 包含

    gem 'rails', '~> 5.2.1'
    gem “听”
    gem 'activerecord-jdbcmysql-适配器'
    gem “therubyrhino”
    gem 'java'
    gem 'ruby-debug', '~> 0.10.6'
    gem “ Elasticsearch ”
    gem '莺'

  • warble.conf 包含

    Warbler::Config.new 做 |config|
    config.features = %w(特征)
    配置.features = %w(gemjar)
    结束

  • Controller 包含:

    定义索引
    $es_client = Elasticsearch::Client.new 日志:true
    products = $es_client.search 索引:'生产产品'
    渲染 json:产品
    结束

  • 在项目文件夹中运行warble编译war命令创建.war文件

当我直接使用 rails s 运行应用程序时,它按预期工作。

但是当我编译应用程序并在 Tomcat 服务器上运行时,出现以下错误

Internal Server Error (500)
Request Method: GET
Request URL: http://localhost:8080/blog/
java.lang.NullPointerException
You're seeing this error because you use JRuby::Rack::ErrorApp::ShowStatus.

最佳答案

解决方案是在 warble.conf 文件中包含所需的 gem。

Warbler::Config.new do |config|
config.features = %w(FEATURE)
config.features = %w(gemjar)
config.gems["elasticsearch"]
end+

关于ruby-on-rails - 使用 Elastic Search gem 运行 jruby 应用程序。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51895515/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com