Running this issue while deploying a Rails 3.2 project to Weblogic 10.3 and finding an easy answer.
org.jruby.exceptions.RaiseException: (NameError) ActiveRecord is not missing constant Base! at RUBY.load_missing_constant(<app_deploy_dir>/<app_name>/mfey8c/war/WEB-INF/gems/gems/activesupport-3.2.9/lib/active_support/dependencies.rb:494) at RUBY.const_missing(<app_deploy_dir>/<app_name>/mfey8c/war/WEB-INF/gems/gems/activesupport-3.2.9/lib/active_support/dependencies.rb:192) at org.jruby.RubyArray.each(org/jruby/RubyArray.java:1613) at RUBY.const_missing(<app_deploy_dir>/<app_name>/mfey8c/war/WEB-INF/gems/gems/activesupport-3.2.9/lib/active_support/dependencies.rb:190) at RUBY.(root)(<app_deploy_dir>/<app_name>/mfey8c/war/WEB-INF/gems/gems/meta_search-1.1.3/lib/meta_search.rb:55) at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:1027) at ActiveSupport::Dependencies::Loadable.require(<app_deploy_dir>/<app_name>/mfey8c/war/WEB-INF/gems/gems/activesupport-3.2.9/lib/active_support/dependencies.rb:251) at ActiveSupport::Dependencies::Loadable.load_dependency(<app_deploy_dir>/<app_name>/mfey8c/war/WEB-INF/gems/gems/activesupport-3.2.9/lib/active_support/dependencies.rb:236) at ActiveSupport::Dependencies::Loadable.require(<app_deploy_dir>/<app_name>/mfey8c/war/WEB-INF/gems/gems/activesupport-3.2.9/lib/active_support/dependencies.rb:251) at RUBY.(root)(<app_deploy_dir>/<app_name>/mfey8c/war/WEB-INF/gems/gems/activeadmin-0.5.0/lib/active_admin.rb:1) at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:1027) at ActiveSupport::Dependencies::Loadable.require(<app_deploy_dir>/<app_name>/mfey8c/war/WEB-INF/gems/gems/activesupport-3.2.9/lib/active_support/dependencies.rb:251) at ActiveSupport::Dependencies::Loadable.load_dependency(<app_deploy_dir>/<app_name>/mfey8c/war/WEB-INF/gems/gems/activesupport-3.2.9/lib/active_support/dependencies.rb:236) at ActiveSupport::Dependencies::Loadable.require(<app_deploy_dir>/<app_name>/mfey8c/war/WEB-INF/gems/gems/activesupport-3.2.9/lib/active_support/dependencies.rb:251) at RUBY.(root)(<app_deploy_dir>/<app_name>/mfey8c/war/WEB-INF/gems/gems/activeadmin-0.5.0/lib/active_admin.rb:1) at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:1027) at RUBY.(root)(<app_deploy_dir>/<app_name>/mfey8c/war/WEB-INF/gems/gems/activeadmin-0.5.0/lib/activeadmin.rb:1) at org.jruby.RubyArray.each(org/jruby/RubyArray.java:1613) at RUBY.(root)(<app_deploy_dir>/<app_name>/mfey8c/war/WEB-INF/gems/gems/activeadmin-0.5.0/lib/activeadmin.rb:1) at org.jruby.RubyArray.each(org/jruby/RubyArray.java:1613) at RUBY.(root)(<app_deploy_dir>/<app_name>/mfey8c/war/WEB-INF/gems/gems/bundler-1.2.3/lib/bundler/runtime.rb:1) at RUBY.require(<app_deploy_dir>/<app_name>/mfey8c/war/WEB-INF/gems/gems/bundler-1.2.3/lib/bundler/runtime.rb:68) at RUBY.require(<app_deploy_dir>/<app_name>/mfey8c/war/WEB-INF/gems/gems/bundler-1.2.3/lib/bundler/runtime.rb:66) at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:1027) at RUBY.require(<app_deploy_dir>/<app_name>/mfey8c/war/WEB-INF/gems/gems/bundler-1.2.3/lib/bundler/runtime.rb:55) at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:1027) at RUBY.require(<app_deploy_dir>/<app_name>/mfey8c/war/WEB-INF/gems/gems/bundler-1.2.3/lib/bundler.rb:128) at RUBY.(root)(<app_deploy_dir>/<app_name>/mfey8c/war/WEB-INF/config/application.rb:13) at RUBY.(root)(<app_deploy_dir>/<app_name>/mfey8c/war/WEB-INF/config/environment.rb:1)
The environment is as follows: JRuby 1.7.2, JRockit 1.6, Rails 3.2.9, Warbler
I am deploying a base project of 2 models plus a developer, and this error occurs when I view it in a browser. Has anyone seen this before? This is my first assignment with JRuby.
Editing:
Adding my last failed attempt. Notice I tried jruby, jruby-jars for 1.6.8, 1.7.0, 1.7.2 and did not succeed. here is my gem file and warbler configuration:
#source 'https://rubygems.org' source "http://bundler-api.herokuapp.com" gem 'rails', '<3.3' # Bundle edge Rails instead: # gem 'rails', :git => 'git://github.com/rails/rails.git' gem 'savon' #gem 'jruby-openssl' gem 'json' #gem 'ffi', '~>1.0.9' #gem 'sqlite3' gem 'rake', "=10.0.2" gem 'activerecord-oracle_enhanced-adapter', "~> 1.4.0" # Gems used only for assets and not required # in production environments by default. group :assets do gem 'sass-rails', '<3.3' gem 'coffee-rails', '<3.3' # See https://github.com/sstephenson/execjs#readme for more supported runtimes #gem 'therubyrhino' #gem 'therubyracer' #gem 'libv8' gem 'uglifier', '>= 1.0.3' end platforms :jruby do group :assets do gem 'therubyrhino' end group :development, :test do gem 'ruby-debug' gem 'activerecord-jdbcsqlite3-adapter', "~> 1.2.5" gem 'warbler' end gem 'jruby-jars', "1.7.0" gem 'jruby-openssl', :require => false end platforms :ruby do group :assets do gem 'therubyracer' gem 'libv8' end group :development, :test do gem 'debugger' gem 'sqlite3' end gem 'ruby-oci8', '~> 2.1.0' # requires oracle client end gem 'jquery-rails' gem 'devise' gem 'activeadmin' gem 'rb-readline' gem 'validates_timeliness', '~> 3.0' gem 'wash_out'#, :path => "~/Desktop/code/wash_out" # To use ActiveModel has_secure_password # gem 'bcrypt-ruby', '~> 3.0.0' # To use Jbuilder templates for JSON # gem 'jbuilder' # Use unicorn as the app server # gem 'unicorn':path # Deploy with Capistrano # gem 'capistrano' # To use debugger # gem 'uby-debug' group :development do end group :test do gem 'cucumber-rails', :require => false #gem 'cucumber', :require => false gem 'shoulda-matchers' gem 'json_spec' gem 'vcr' gem 'fakeweb' gem 'database_cleaner' gem 'launchy' gem 'webrat' gem 'json_spec' #gem 'capybara' #gem 'mocha' end group :development, :test do #gem 'activerecord-sqlite3-adapter', :platform => :ruby #gem 'activerecord-jdbc-sqlite3-adapter', :platform => :jruby gem 'rspec-rails' gem 'factory_girl_rails', "~> 4.0" end
And Warbler Config (using Warble War):
class Warbler::Jar def replace_compiled_ruby_files(config, compiled_ruby_files) config.excludes += compiled_ruby_files compiled_ruby_files.each do |ruby_source| files[apply_pathmaps(config, ruby_source, :application)] = StringIO.new("load __FILE__.sub(/\.rb$/, '.class')") end end end Warbler::Config.new do |config| config.dirs = %w(app config lib log vendor tmp) config.webxml.jruby.compat.version = "1.9" end