我使用warble成功创建了war文件。我试图在tomcat中部署我的Rails 3应用程序。
我使用Ruby 1.9.2并且jRuby 1.6.7支持它。
我正在使用Windows并将环境变量JRUBY_OPTS设置为-1.9。
如果我去控制台(cmd)并键入jruby -v这就是答案:jruby 1.6.7(ruby-1.9.2-p312).....
部署后,当我执行应用程序时,由于语法问题而失败。分析日志文件我可以看到以下内容:
系统
jruby 1.6.7(ruby-1.8.7-p357)(2012-02-22 3e82bc8)(Java HotSpot(TM)Client VM 1.6.0_23)[Windows XP-x86-java]
为什么使用ruby 1.8.7?这是导致我的错误! 我尝试将SET RAILS_OPTS = - 1.9.2添加到我的tomcat启动脚本中,但它具有相同的行为。
注意:如果我使用jruby -S rails S启动服务器它运行良好,它使用1.9.2启动webrick。但如果我生成WAR,则使用1.8.7执行。
有什么想法吗?
答案 0 :(得分:3)
如果你跑:
warble config
这将创建一个配置文件config/warble.rb
。打开此文件,取消注释以下行:
# config.webxml.jruby.compat.version = "1.9"
然后用war war重新打包你的战争。