我已经尝试了几个小时将 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)
再多的谷歌搜索也无法说明问题所在。据推测,战争遗漏了一些东西或以某种方式错误配置,但它是什么?