【发布时间】:2010-09-10 15:26:13
【问题描述】:
我有一个 WAR 文件,它使用 jruby-complete.1.5.2.jar 来提供 JRuby 作为 ScriptEngine。我的 JRuby 脚本依赖于我打包在 jar 文件中的一些 Ruby gem。当我在 Tomcat 下运行 WAR 文件时这工作正常,但当我使用 JBoss 5.1.0 时它不起作用。
为了排除故障,我什至尝试运行一个简单的脚本,该脚本需要打包在 jruby-complete-1.5.2.jar 文件中的“rake”rubygem。这在 JBoss 下也不起作用。在 JBoss 下运行时似乎找不到任何 rubygems。一定有一些设置我对 JBoss 不正确。我应该将 Ruby 加载路径设置为我的 WAR 中的某个类路径吗?一定有人为 JBoss 做过这件事。它适用于独立的 Tomcat,所以我必须为 JBoss 及其嵌入式 Tomcat 服务器做一些事情。
对于新手问题,我们深表歉意,但我们将非常感谢您的帮助。为了解决这个问题,我自定义了 jrub-complete-1.5.2.jar 文件并将 RubyGems 放入 jar 文件的 JRuby 加载路径中(即 classpath:$/META-INF/jruby.home/lib/ruby/site_ruby/ 1.8)。这适用于 JBoss,但我宁愿不这样做,让 RubyGems 机制在独立的 Tomcat 和 JBoss 上都工作。感谢您的帮助。
【问题讨论】: