1

我有一个使用 JRuby 1.6.7、Ruby 1.9.2、Rails 3.1.3 和 Warbler 1.4.0.beta2 的应用程序

一段时间以来,我一直在尝试更新应用程序以使用 JRuby 1.7.x。每次我尝试(使用版本 1.7.3、1.7.4 和最近的 1.7.6)我都会收到以下错误:

org.jruby.rack.RackInitializationException: No such file or directory - /home/production/var/tmp/Jetty_0_0_.war/webapp/WEB-INF/lib/gems.jar!/gems/activesupport-3.1.3/lib/active_support/locale/en.yml

在此问题获得一些帮助后:Warble not include active support locale files,pin 指出该问题与我的应用程序中的 warbler 配置有关。我们启用了以下配置:

  config.features = %w(gemjar executable compiled)

具体来说,gemjar功能是导致问题的原因。禁用该功能后,一切正常(WAR 完美部署)

我想知道,是否有其他人遇到过这个问题,或者是否有人知道问题可能是什么?

然后更具体地说,禁用 Warbler 的 gemjar 功能有什么缺点?据我所知,理论上禁用它不应该有任何破坏性......但我可能忽略了一些东西。

(我也想知道完整的莺 1.4.0 版本是否可以解决这个问题……但我找不到任何关于何时发布的信息)

4

1 回答 1

2

没有 - 实际上使用gemjar运行 .war可能会在某些服务器上出现问题(尤其是如果他们不扩展已部署的 .war,从那时起,在 .war 中仍然在 .war 中时很难引用打包在 .war 中的文件/资源​​。罐)。另一方面,如果事情被扩展(即使使用 gemjar),它应该可以正常运行......

您绝对应该使用 Warbler 的存储库报告这一点(如果尚未报告)。

它应该不难修复 - 可能是一个班轮,我知道 PR 是最受欢迎的 :)

注意:另一方面,如果它在以前的 JRuby 中工作并且更新 1.7.x 是问题,那么它可能是 JRuby 方面的“回归”,如果他们知道的话,他们实际上可能会解决这个问题......

于 2013-11-15T07:27:00.257 回答