0

私は何時間もの間、実際に機能する戦争としてパッケージ化された JRuby Rails アプリケーションを取得しようとしましたが、成功しませんでした... (JRuby 1.6.7、warbler 1.3.5、Rails 3.2.2)

問題 #1: Warbler は、元のサブディレクトリを尊重するのではなく、すべてのライブラリを 1 つのルート フォルダーにまとめることを好むようです。たとえば、Rails アプリ自体は正常に動作しますが、ライブラリが次のように参照されると戦争が中断されます。

require "lib/foo/bar.jar"
require "lib/baz.rb"

foo/bar.jar と baz.rb は実際には WEB-INF/lib に存在することに注意してください。Warbler を構成して接続する方法がわからないので、正しく動作する必要があります。

問題 #2: すべての要件を変更することを諦めた場合

require "bar.jar"
require "baz.rb"

、実行可能な war ファイルをビルドすればすべて問題ありませんが、war を Tomcat 6.0.20 インストールにドロップしようとすると、アプリケーションの初期化に失敗します。

SEVERE: Error: application initialization failed
java.lang.NullPointerException
at org.jruby.RubyInstanceConfig$ArgumentProcessor.processArguments(RubyInstanceConfig.java:711)

問題が何であるかを明らかにするグーグルの量はありません。おそらく、戦争には何かが欠けているか、何らかの形で設定が間違っていると思われますが、それは何ですか?

4

1 に答える 1

0

これがエラーの原因になるかどうかはわかりませんが、JrubyとRails3.2.xの間に既知のバグがあったことを覚えています。これはJruby1.7で修正されたようです。

以前にJruby1.6.7でRails3.2を使用してみましたが、これに遭遇しました: JIRA-Ticket-JRUBY-3986

それが少なくとも少し役立つかもしれないことを願っています

于 2012-07-17T18:28:37.387 に答える