几个小时以来,我一直在尝试将JRuby Rails应用程序打包为实际有效的war应用程序,但没有成功……(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配置为连接起来,这样就可以正确地执行requires。
问题#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)无论多少谷歌搜索都没有揭示出问题所在。大概这场战争遗漏了什么,或者不知何故配置错误了,但到底是什么呢?
发布于 2012-07-18 02:28:37
我不能肯定这会导致你的错误--但是我记得Jruby和Rails 3.2.x之间有一个已知的bug --这个bug显然已经在Jruby 1.7中修复了。
我之前曾尝试在JRuby1.6.7中使用Rails3.2,并遇到了这个问题:JIRA-Ticket-JRUBY-3986
希望这至少能帮上点忙
https://stackoverflow.com/questions/10405018
复制相似问题