我正在尝试将非常简单的Rails应用程序部署到Oracle WebLogic服务器。它只是一个默认应用程序,由类似">jruby-s rails new myapp"的命令创建。
如果我运行一个开发服务器(">jruby-S rails服务器"),它可以正常工作。但当我将其部署到WebLogic时,我收到一个异常:
org.jruby.rack.RackInitializationException: no method 'getInstance' for arguments (org.joda.time.tz.CachedDateTimeZone) on Java::OrgJodaTimeChrono::GJChronology
我的环境:
操作系统:Windows 8.1
Java:Java(TM)SE运行时环境(内部版本1.7.0_40-b43)
jRuby:jRuby 1.7.10(1.9.3p92)2014-01-09 c4ecd6b
WebLogic:12.1.2
Rails:4.0.2
Warbler:1.4.0
这是WebLogic的一个常见问题,由冲突的JodaTime(jar)库引起。
它可以通过添加weblogic.xml
描述符并告诉WL从wiki上的WEB-INF/lib详细信息中"偏好">(Java)类来修复:https://github.com/jruby/jruby-rack/wiki/Deploying-with-WebLogic