L'esecuzione di questo problema durante l'implementazione del progetto Rails 3.2 su Weblogic 10.3 era alla ricerca di una risposta facile.ActiveRecord non manca la base costante! errore nell'implementazione di rails 3.2.9 jruby 1.7.2 in weblogic 10.3
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)
Ambiente si presenta così: JRuby 1.7.2, JRockit 1.6, Rails 3.2.9, Luì
schiero il modello base 2 più medito progetto utente e questo errore si verifica quando navigo ad esso in un browser. Qualcuno ha visto questo prima? Questo è il mio primo periodo con JRuby.
Montaggio:
aggiungendo il mio ultimo tentativo fallito. nota, ho provato jruby, jruby-jars per 1.6.8, 1.7.0, 1.7.2 e non ho avuto successo. ecco il mio Gem file e la configurazione silvia:
#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
e Allodola Config (Usando Warble Guerra):
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
Puoi suggerire una soluzione alternativa? Questo problema è stato risolto in 1.7.0 a giugno. Ho provato 1.7.2, 1.7.1, 1.7.0, 1.6.8 e non sembra essere risolto. Il bug relativo sembra essere preciso e la mia descrizione precisa, ma senza molta esperienza in jRuby, non posso fare diagnosi per riportare anche un bug jRuby. –
Puoi aggiornare il tuo pacchetto? Il Gemfile predefinito di Rails assorbe un po ', cambia 'gem' rails ',' ~> 3.2.x'' in' gem 'rails', '<3.3'' in modo da ottenere le versioni di bugfix. Lo stesso vale per 'sass-rails' e' coffee-rails'. ActiveSupport 3.2.9 è in qualche modo sorpassato, la versione corrente è 3.2.11. – ckruse
No go on the bundle update. Ho provato 1.6.8 -> 1.7.2 e tutto quello che c'è in mezzo. C'è qualche informazione specifica o una guida su come restringere l'errore specifico in quanto l'intero messaggio di errore è molto vago. –