1

Rails 3.1.3、JRuby 1.7.6、Warbler 1.3.8 を使用しています。

注: JRuby 1.6.7 を使用している場合、これは発生していませんでしたが、最近、JRuby のバージョンを更新しようとしたときに、この問題が発生しました。

Warbler を使用して、Ruby on Rails アプリケーションを WAR ファイルにパッケージ化します。そのプロセスはすべてのアセットをプリコンパイルし、すべて正常に動作します (正常に動作しているように見えますが、コマンドは成功しています)。

次に、WAR ファイルをソフトウェア (JRuby 環境 - 1.7.6 - を使用し、Web サーバーとして Jetty を使用) でデプロイします。

サーバーが WAR ファイルを解凍してデプロイしようとすると、次のエラーが発生します。

org.jruby.rack.RackInitializationException: No such file or directory - /home/production/var/tmp/Jetty_0_0_0_0_2525_ui.4.1.4.war____.ed5d4m/webapp/WEB-INF/jar:file:/home/production/var/tmp/Jetty_0_0_0_0_2525_ui.4.1.4.war____.ed5d4m/webapp/WEB-INF/lib/gems.jar!/gems/activesupport-3.1.3/lib/active_support/locale/en.yml
from org/jruby/RubyFile.java:838:in `stat'

アンパックされた WAR ディレクトリをチェックインし、gems.jar ファイルに移動してアンパックし、すべてのファイルをチェックしました - activesupport 3.1.3 en.ymlファイルがそこにあります。ファイルのアクセス許可は、私が期待するとおりです (つまり、以前の JRuby 1.6.7 と何も変わらないようです)。

EDIT JRuby 1.7.6 と Warbler 1.3.8 の間にバグがあります - https://github.com/jruby/warbler/issues/197 それに遭遇した後、私は Warber 1.4.0.beta2 を使用してみました - これはウグイスを修正します - jruby のバグですが、その修正では、欠落している locale/en.yml ファイルを再び受信できるようになるだけです。

助言がありますか?ありがとう!

4

2 に答える 2

3

問題を再現しようとしましたが、できませんでした。Rails 3.1.3、Warbler 1.4.0.beta2、JRuby 1.7.6 をインストールしました。新しい Rails アプリケーションを作成した後、コントローラー/ビューを作成し、アセットをプリコンパイルしてから、 を実行して war を作成しましたwarble。次に、WAR を Jetty 9.0.6 (v20130930) にダンプしました。

アプリケーションにナビゲートすることができ、多くのファイルが WAR にありますWEB-INF/gems/gems/activesupport-3.1.3(全部で 253)。

WAR のビルド方法を変更する可能性のあるカスタム ウォーブラー ファイルはありますか? おそらく、それを削除して、「ストック」ウグイス構成を試すことができます。

于 2013-11-14T02:11:27.343 に答える
1

ウグイス 1.4.0.beta2 を試して、修正されたかどうかを確認します

于 2013-11-12T22:18:37.663 に答える