gpt4 book ai didi

jruby - 使用 JRuby Warbler,是否可以生成一个可以从环境变量中学习其 RAILS_ENV 的 WAR?

转载 作者:行者123 更新时间:2023-12-04 19:53:08 26 4
gpt4 key购买 nike

Warbler 希望您在创建 WAR 时指定 RAILS_ENV。然后将其放入生成的 WAR 的 web.xml 中。

但是,如果您可以创建一个从环境中学习其 RAILS_ENV 的 WAR,您就可以创建一个可用于登台或生产的 WAR——换句话说,一个高级管理机制,可以在其中测试 WAR,然后无需更改即可部署.

最佳答案

JRuby-Rack 已经设置为在将内容放入 web.xml 之前从 RAILS_ENV 读取,所以这部分是黄金。你唯一需要打败的就是这个 rails.erb合并为 META-INF/init.rb 的模板在 war 文件中:

ENV['RAILS_ENV'] = '<%= config.webxml.rails.env %>'

目前没有真正的好方法可以做到这一点,但您可以覆盖 Warbler::Jar#add_init_file如下在您的 config/warble.rb顶部删除 Rails 模板:
class Warbler::Jar
alias_method :orig_add_init_file, :add_init_file
def add_init_file(config)
config.init_contents.delete("#{config.warbler_templates}/rails.erb") if config.init_contents
orig_add_init_file(config)
end
end

关于jruby - 使用 JRuby Warbler,是否可以生成一个可以从环境变量中学习其 RAILS_ENV 的 WAR?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8185419/

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