与JRuby和莺建立.war



我一直在尝试将JRuby Rails应用程序打包为一场真正有效的战争,但没有成功... (JRuby 1.6.7, 莺 1.3.5, Rails 3.2.2)

问题#1:Warbler似乎喜欢将所有库集中在一个根文件夹中,而不是尊重它们最初来自的子目录。 例如,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)

再多的谷歌搜索也无法揭示问题所在。 大概战争缺少一些东西或以某种方式配置错误,但它是什么?

我不能肯定地说这会导致您的错误 - 但是我记得 Jruby 和 Rails 3.2.x 之间有一个已知的错误 - 显然在 Jruby 1.7 中修复了。

我之前曾尝试将Rails 3.2与Jruby 1.6.7一起使用,并遇到过以下情况:吉拉-票-JRUBY-3986

希望这至少会有所帮助

最新更新