Can't load rubygems from a WAR file


#1

I’m trying to deploy a prototype JRuby/Rails application into the
WebLogic 10.3 application server. First, I’m getting a warning on
non-existent jruby.home directory and ultimately an error that rubygems
can’t be loaded.

Environment:

  • Windows XP Pro
  • JRE 1.5.0_14
  • JRuby 1.3.0 RC1
  • Rails 2.3.2
  • Warbler 0.9.13
  • Oracle/BEA WebLogic 10.3
  • Oracle Database 10g

After updating to the recent Rake version, I’m able to create a WAR file
using Warbler without a problem. After auto-deploying to the WebLogic,
the WAR is apparently exploded into the corresponding tmp directory.
When WebLogic attempts to launch the application, the following warning
appears in the log:

Warning: JRuby home
“D:/bea103/user_projects/domains/sandbox/servers/sandbox-admin/tmp/_WL_user/_appsdir_lab-jruby_war/ixhtz3/war/WEB-INF/lib/jruby-complete-1.3.0RC1.jar!/META-INF/jruby.home”
does not exist, using C:\DOCUME~1\SANDBOX\LOCALS~1\Temp\

It is followed by an error ultimately complaining about unavalability of
rubygems:

unable to create shared application instance
org.jruby.rack.RackInitializationException: no such file to load –
rubygems from
/D:/bea103/user_projects/domains/sandbox/servers/sandbox/admin/tmp/_WL_user/_appsdir_la/b-jruby_war/ixhtz3/war/WEB-INF/config/…/vendor/rails/railties/lib/rails/vendor_gem_source_index.rb:1

I’m guessing that the error could be related to “missing” JRuby home
although I’m not sure. Does anyone have any idea how to make it work?

Thanks in advance.


#2

I just want to mention that I’ve tried to deploy the very same WAR file
in the Tomcat (recent 6.0.18) and it works as-is without a glitch
(although it seems to be exploded automatically by the server as well).

-A-


#3

I’ve made some very minor progress by downgrading JRuby Rake from the
recent 0.9.4 back to 0.9.3. The jruby.home warning still show up, but
the application passes the initial stage of creating the shared
instance.

It fails however after that again with “Fcntl not supported on this
platform”. I’ve noticed this is a known bug in JRuby 1.3.0 RC1. Since I
don’t want to spend time on building JRuby from the trunk, I will have
to suspend my prototyping until next JRuby version is released.

Note that it fails with the same error on the Unix box as well. Also
note that my attenmtps to downgrade to JRuby 1.2.0 were unsuccesful as
well.