0

我已经尝试了几个小时将 JRuby Rails 应用程序打包为实际有效的战争,但没有成功......(JRuby 1.6.7,warbler 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)

再多的谷歌搜索也无法说明问题所在。据推测,战争遗漏了一些东西或以某种方式错误配置,但它是什么?

4

1 回答 1

0

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

我之前曾尝试将 Rails 3.2 与 Jruby 1.6.7 一起使用,但遇到了这个问题: JIRA-Ticket-JRUBY-3986

希望这至少能有所帮助

于 2012-07-17T18:28:37.387 回答