JRuby / Warbler 导致没有要加载的文件 -- bundler/dep_proxy
JRuby / Warbler results in no such file to load -- bundler/dep_proxy
我有一个大型 rails 应用程序已成功转换为使用 JRuby,它在本地运行没有任何问题 bundle exec rails s -b 0.0.0.0
。
我现在正在尝试使用以下内容创建可部署的 WAR 文件:
bundle exec warble executable war
这成功完成,没有错误,但是当 运行 它有:
java -jar application.war
它启动,几秒钟后,它吐出这个错误:
2016-06-28 11:48:16.544:INFO::main: Logging initialized @228ms
2016-06-28 11:48:16.553:INFO:oejr.Runner:main: Runner
2016-06-28 11:48:16.698:INFO:oejs.Server:main: jetty-9.2.9.v20150224
2016-06-28 11:48:32.680:WARN:oeja.AnnotationConfiguration:main: ServletContainerInitializers: detected. Class hierarchy: empty
2016-06-28 11:48:33.692:INFO:/:main: INFO: jruby 9.1.2.0 (2.3.0) 2016-05-26 7357c8f Java HotSpot(TM) 64-Bit Server VM 25.45-b02 on 1.8.0_45-b14 +jit [darwin-x86_64]
2016-06-28 11:48:33.694:INFO:/:main: INFO: using a shared (threadsafe!) runtime
org.jruby.exceptions.RaiseException: (LoadError) no such file to load -- bundler/dep_proxy
at RUBY.block in expand_dependencies(uri:classloader:/gems/bundler-1.12.5/lib/bundler/definition.rb:630)
at org.jruby.RubyArray.each(org/jruby/RubyArray.java:1593)
at RUBY.block in expand_dependencies(uri:classloader:/gems/bundler-1.12.5/lib/bundler/definition.rb:629)
at org.jruby.RubyArray.each(org/jruby/RubyArray.java:1593)
at RUBY.expand_dependencies(uri:classloader:/gems/bundler-1.12.5/lib/bundler/definition.rb:626)
at RUBY.converge_locked_specs(uri:classloader:/gems/bundler-1.12.5/lib/bundler/definition.rb:594)
at RUBY.resolve(uri:classloader:/gems/bundler-1.12.5/lib/bundler/definition.rb:195)
at RUBY.specs(uri:classloader:/gems/bundler-1.12.5/lib/bundler/definition.rb:140)
at RUBY.specs_for(uri:classloader:/gems/bundler-1.12.5/lib/bundler/definition.rb:185)
at RUBY.requested_specs(uri:classloader:/gems/bundler-1.12.5/lib/bundler/definition.rb:174)
at RUBY.requested_specs(uri:classloader:/gems/bundler-1.12.5/lib/bundler/environment.rb:19)
at RUBY.setup(uri:classloader:/gems/bundler-1.12.5/lib/bundler/runtime.rb:14)
at RUBY.setup(uri:classloader:/gems/bundler-1.12.5/lib/bundler.rb:95)
at RUBY.<top>(uri:classloader:/gems/bundler-1.12.5/lib/bundler/setup.rb:9)
at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:944)
at RUBY.(root)(uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:1)
at RUBY.<top>(uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:133)
at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:944)
at RUBY.(root)(/private/var/folders/9v/9b6v35h55nl94trls0l52h4c0000gn/T/jetty-0.0.0.0-8080-application.war-_-any-4553071680754868493.dir/webapp/WEB-INF/config/boot.rb:3)
at RUBY.(root)(uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:1)
at RUBY.require(uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:55)
at RUBY.<top>(uri:classloader:/jruby/rack/rails/environment3.rb:23)
由于无法加载 bundler/dep_proxy 而卡住了,谷歌搜索也没有找到类似的问题。我调整了 warbler 配置文件,但导致了同样的问题。
Ruby JRuby 与 rbenv
一起安装。
堆栈信息:
$ jruby -v
jruby 9.1.2.0 (2.3.0) 2016-05-26 7357c8f Java HotSpot(TM) 64-Bit Server VM 25.45-b02 on 1.8.0_45-b14 +jit [darwin-x86_64]
$ bundle env
Environment
Bundler 1.12.5
Rubygems 2.6.4
Ruby 2.3.0p0 (2016-05-26 revision 52539) [java]
Git 2.9.0
Gemfile
source 'https://rubygems.org'
ruby '2.3.0', :engine => 'jruby', :engine_version => '9.1.2.0'
gem 'rails', '4.2.6'
gem 'sass-rails', '~> 5.0'
gem 'bourbon'
gem 'font-awesome-sass'
gem 'uglifier', '>= 1.3.0'
gem 'jquery-rails'
gem 'jquery-turbolinks'
gem 'turbolinks'
gem 'jbuilder', '~> 2.0'
gem 'country_select'
gem 'devise', '3.5.3'
gem 'devise-i18n-views'
gem 'devise-encryptable'
gem 'devise_security_extension'
gem 'cancancan'
gem 'rolify'
gem 'carrierwave'
gem 'carrierwave-bombshelter'
gem 'mini_magick'
gem 'file_validators', '2.0.2'
gem 'gretel'
gem 'font-awesome-rails'
gem 'kaminari'
gem 'pg_search'
gem 'responders'
gem 'date_validator'
gem 'validates_timeliness', '~> 4.0'
gem 'roo', '~> 2.3.2'
gem 'lipsum', :require => false
gem 'faker', :require => false
gem 'pushmeup', :require => false
gem 'rack-attack'
gem 'barby', :require => false
gem 'prawn', :require => false
gem 'rest-client', :require => false
gem 'geokit', :require => false
gem 'text', :require => false
gem 'savon', :require => false
gem 'plugg'
gem 'postmark-rails', '~> 0.12.0'
gem 'breadcrumbs_on_rails'
platforms :ruby do
gem 'pg'
gem 'therubyracer'
end
platforms :jruby do
gem 'jruby-jars'
gem 'jruby-openssl'
gem 'jruby-rack'
gem 'activerecord-jdbcpostgresql-adapter'
gem 'puma'
gem 'therubyrhino'
group :development, :test do
gem 'warbler'
end
end
group :development, :test do
#gem 'spring'
gem 'randumb'
gem "activerecord-import", ">= 0.4.0", :require => false
gem 'factory_girl'
gem 'require_all'
gem 'rails_real_favicon'
gem 'i18n-tasks', '~> 0.9.4'
gem 'i18n_generators'
# Code Assessment Tools
gem 'i15r', '~> 0.5.1'
gem 'brakeman', :require => false
gem 'bundler-audit'
gem 'flog'
gem 'rails_best_practices'
end
group :production do
gem 'activerecord_url_connections'
gem 'le'
gem 'redis-rails'
gem 'rack-timeout'
gem 'rack-throttle'
gem 'rack-cache', :require => 'rack/cache'
end
group :doc do
gem 'sdoc', '~> 0.4.0'
end
Gemfile.lock
GEM
remote: https://rubygems.org/
specs:
actionmailer (4.2.6)
actionpack (= 4.2.6)
actionview (= 4.2.6)
activejob (= 4.2.6)
mail (~> 2.5, >= 2.5.4)
rails-dom-testing (~> 1.0, >= 1.0.5)
actionpack (4.2.6)
actionview (= 4.2.6)
activesupport (= 4.2.6)
rack (~> 1.6)
rack-test (~> 0.6.2)
rails-dom-testing (~> 1.0, >= 1.0.5)
rails-html-sanitizer (~> 1.0, >= 1.0.2)
actionview (4.2.6)
activesupport (= 4.2.6)
builder (~> 3.1)
erubis (~> 2.7.0)
rails-dom-testing (~> 1.0, >= 1.0.5)
rails-html-sanitizer (~> 1.0, >= 1.0.2)
activejob (4.2.6)
activesupport (= 4.2.6)
globalid (>= 0.3.0)
activemodel (4.2.6)
activesupport (= 4.2.6)
builder (~> 3.1)
activerecord (4.2.6)
activemodel (= 4.2.6)
activesupport (= 4.2.6)
arel (~> 6.0)
activerecord-import (0.14.1)
activerecord (>= 3.2)
activerecord-jdbc-adapter (1.3.20)
activerecord (>= 2.2)
activerecord-jdbcpostgresql-adapter (1.3.20)
activerecord-jdbc-adapter (~> 1.3.20)
jdbc-postgres (>= 9.1)
activerecord_url_connections (0.0.7)
activerecord
activesupport (4.2.6)
i18n (~> 0.7)
json (~> 1.7, >= 1.7.7)
minitest (~> 5.1)
thread_safe (~> 0.3, >= 0.3.4)
tzinfo (~> 1.1)
addressable (2.4.0)
akami (1.3.1)
gyoku (>= 0.4.0)
nokogiri
arel (6.0.3)
ast (2.3.0)
barby (0.6.4)
bcrypt (3.1.11-java)
bourbon (4.2.7)
sass (~> 3.4)
thor (~> 0.19)
brakeman (3.3.2)
breadcrumbs_on_rails (2.3.1)
builder (3.2.2)
bundler-audit (0.5.0)
bundler (~> 1.2)
thor (~> 0.18)
cancancan (1.15.0)
carrierwave (0.11.2)
activemodel (>= 3.2.0)
activesupport (>= 3.2.0)
json (>= 1.7)
mime-types (>= 1.16)
mimemagic (>= 0.3.0)
carrierwave-bombshelter (0.2.2)
activesupport (>= 3.2.0)
carrierwave
fastimage
code_analyzer (0.4.5)
sexp_processor
coffee-rails (4.1.1)
coffee-script (>= 2.2.0)
railties (>= 4.0.0, < 5.1.x)
coffee-script (2.4.1)
coffee-script-source
execjs
coffee-script-source (1.10.0)
concurrent-ruby (1.0.2-java)
countries (1.2.5)
currencies (~> 0.4.2)
i18n_data (~> 0.7.0)
country_select (2.5.2)
countries (~> 1.2.0)
sort_alphabetical (~> 1.0)
currencies (0.4.2)
date_validator (0.9.0)
activemodel
activesupport
devise (3.5.3)
bcrypt (~> 3.0)
orm_adapter (~> 0.1)
railties (>= 3.2.6, < 5)
responders
thread_safe (~> 0.1)
warden (~> 1.2.3)
devise-encryptable (0.2.0)
devise (>= 2.1.0)
devise-i18n-views (0.3.7)
devise_security_extension (0.10.0)
devise (>= 3.0.0, < 4.0)
railties (>= 3.2.6, < 5.0)
domain_name (0.5.20160615)
unf (>= 0.0.5, < 1.0.0)
easy_translate (0.5.0)
json
thread
thread_safe
erubis (2.7.0)
execjs (2.7.0)
factory_girl (4.7.0)
activesupport (>= 3.0.0)
faker (1.6.3)
i18n (~> 0.5)
fastimage (2.0.0)
addressable (~> 2)
file_validators (2.0.2)
activemodel (>= 3.0)
mime-types (>= 1.0)
flog (4.4.0)
path_expander (~> 1.0)
ruby_parser (~> 3.1, > 3.1.0)
sexp_processor (~> 4.4)
font-awesome-rails (4.6.3.1)
railties (>= 3.2, < 5.1)
font-awesome-sass (4.6.2)
sass (>= 3.2)
geokit (1.10.0)
globalid (0.3.6)
activesupport (>= 4.1.0)
gretel (3.0.8)
rails (>= 3.2.0)
gyoku (1.3.1)
builder (>= 2.1.2)
highline (1.7.8)
http-cookie (1.0.2)
domain_name (~> 0.5)
httparty (0.13.7)
json (~> 1.8)
multi_xml (>= 0.5.2)
httpi (2.4.2)
rack
socksify
i15r (0.5.5)
i18n (0.7.0)
i18n-tasks (0.9.5)
activesupport (>= 4.0.2)
ast (>= 2.1.0)
easy_translate (>= 0.5.0)
erubis
highline (>= 1.7.3)
i18n
parser (>= 2.2.3.0)
term-ansicolor (>= 1.3.2)
terminal-table (>= 1.5.1)
i18n_data (0.7.0)
i18n_generators (2.1.1)
rails (>= 3.0.0)
jbuilder (2.5.0)
activesupport (>= 3.0.0, < 5.1)
multi_json (~> 1.2)
jdbc-postgres (9.4.1206)
jquery-rails (4.1.1)
rails-dom-testing (>= 1, < 3)
railties (>= 4.2.0)
thor (>= 0.14, < 2.0)
jquery-turbolinks (2.1.0)
railties (>= 3.1.0)
turbolinks
jruby-jars (9.1.2.0)
jruby-openssl (0.9.17-java)
jruby-rack (1.1.20)
json (1.8.3-java)
kaminari (0.17.0)
actionpack (>= 3.0.0)
activesupport (>= 3.0.0)
le (2.7.2)
lipsum (1.2.0)
nokogiri
loofah (2.0.3)
nokogiri (>= 1.5.9)
mail (2.6.4)
mime-types (>= 1.16, < 4)
mime-types (2.99.2)
mimemagic (0.3.1)
mini_magick (4.5.1)
minitest (5.9.0)
multi_json (1.12.1)
multi_xml (0.5.5)
netrc (0.11.0)
nokogiri (1.6.8-java)
nori (2.6.0)
orm_adapter (0.5.0)
parser (2.3.1.2)
ast (~> 2.2)
path_expander (1.0.0)
pdf-core (0.6.1)
pg_search (1.0.6)
activerecord (>= 3.1)
activesupport (>= 3.1)
arel
plugg (0.0.4)
postmark (1.7.1)
json
rake
postmark-rails (0.12.0)
actionmailer (>= 3.0.0)
postmark (~> 1.7.0)
prawn (2.1.0)
pdf-core (~> 0.6.1)
ttfunk (~> 1.4.0)
puma (3.4.0-java)
pushmeup (0.3.0)
httparty
json
rack (1.6.4)
rack-attack (4.4.1)
rack
rack-cache (1.6.1)
rack (>= 0.4)
rack-test (0.6.3)
rack (>= 1.0)
rack-throttle (0.4.0)
rack (>= 1.0.0)
rack-timeout (0.4.2)
rails (4.2.6)
actionmailer (= 4.2.6)
actionpack (= 4.2.6)
actionview (= 4.2.6)
activejob (= 4.2.6)
activemodel (= 4.2.6)
activerecord (= 4.2.6)
activesupport (= 4.2.6)
bundler (>= 1.3.0, < 2.0)
railties (= 4.2.6)
sprockets-rails
rails-deprecated_sanitizer (1.0.3)
activesupport (>= 4.2.0.alpha)
rails-dom-testing (1.0.7)
activesupport (>= 4.2.0.beta, < 5.0)
nokogiri (~> 1.6.0)
rails-deprecated_sanitizer (>= 1.0.1)
rails-html-sanitizer (1.0.3)
loofah (~> 2.0)
rails_best_practices (1.16.0)
activesupport
code_analyzer (>= 0.4.3)
erubis
i18n
json
require_all
ruby-progressbar
rails_real_favicon (0.0.3)
json (~> 1.7)
rails (>= 3.1, < 5)
rest-client (~> 1.8)
rubyzip (~> 1)
railties (4.2.6)
actionpack (= 4.2.6)
activesupport (= 4.2.6)
rake (>= 0.8.7)
thor (>= 0.18.1, < 2.0)
rake (11.2.2)
randumb (0.5.0)
activerecord (>= 3.0.0)
activesupport (>= 3.0.0)
rake
rdoc (4.2.2)
json (~> 1.4)
redis (3.3.0)
redis-actionpack (4.0.1)
actionpack (~> 4)
redis-rack (~> 1.5.0)
redis-store (~> 1.1.0)
redis-activesupport (4.1.5)
activesupport (>= 3, < 5)
redis-store (~> 1.1.0)
redis-rack (1.5.0)
rack (~> 1.5)
redis-store (~> 1.1.0)
redis-rails (4.0.0)
redis-actionpack (~> 4)
redis-activesupport (~> 4)
redis-store (~> 1.1.0)
redis-store (1.1.7)
redis (>= 2.2)
require_all (1.3.3)
responders (2.2.0)
railties (>= 4.2.0, < 5.1)
rest-client (1.8.0)
http-cookie (>= 1.0.2, < 2.0)
mime-types (>= 1.16, < 3.0)
netrc (~> 0.7)
rolify (5.1.0)
roo (2.3.2)
nokogiri (~> 1)
rubyzip (~> 1.1, < 2.0.0)
ruby-progressbar (1.8.1)
ruby_parser (3.8.2)
sexp_processor (~> 4.1)
rubyzip (1.2.0)
sass (3.4.22)
sass-rails (5.0.4)
railties (>= 4.0.0, < 5.0)
sass (~> 3.1)
sprockets (>= 2.8, < 4.0)
sprockets-rails (>= 2.0, < 4.0)
tilt (>= 1.1, < 3)
savon (2.11.1)
akami (~> 1.2)
builder (>= 2.1.2)
gyoku (~> 1.2)
httpi (~> 2.3)
nokogiri (>= 1.4.0)
nori (~> 2.4)
wasabi (~> 3.4)
sdoc (0.4.1)
json (~> 1.7, >= 1.7.7)
rdoc (~> 4.0)
sexp_processor (4.7.0)
socksify (1.7.0)
sort_alphabetical (1.0.2)
unicode_utils (>= 1.2.2)
sprockets (3.6.2)
concurrent-ruby (~> 1.0)
rack (> 1, < 3)
sprockets-rails (3.1.0)
actionpack (>= 4.0)
activesupport (>= 4.0)
sprockets (>= 3.0.0)
term-ansicolor (1.3.2)
tins (~> 1.0)
terminal-table (1.6.0)
text (1.3.1)
therubyrhino (2.0.4)
therubyrhino_jar (>= 1.7.3)
therubyrhino_jar (1.7.6)
thor (0.19.1)
thread (0.2.2)
thread_safe (0.3.5-java)
tilt (2.0.5)
timeliness (0.3.8)
tins (1.10.2)
ttfunk (1.4.0)
turbolinks (2.5.3)
coffee-rails
tzinfo (1.2.2)
thread_safe (~> 0.1)
uglifier (3.0.0)
execjs (>= 0.3.0, < 3)
unf (0.1.4-java)
unicode_utils (1.4.0)
validates_timeliness (4.0.2)
timeliness (~> 0.3.7)
warbler (2.0.3)
jruby-jars (>= 9.0.0.0)
jruby-rack (>= 1.1.1, < 1.3)
rake (>= 10.1.0)
rubyzip (~> 1.0, < 1.4)
warden (1.2.6)
rack (>= 1.0)
wasabi (3.5.0)
httpi (~> 2.0)
nokogiri (>= 1.4.2)
PLATFORMS
java
DEPENDENCIES
activerecord-import (>= 0.4.0)
activerecord-jdbcpostgresql-adapter
activerecord_url_connections
barby
bourbon
brakeman
breadcrumbs_on_rails
bundler-audit
cancancan
carrierwave
carrierwave-bombshelter
country_select
date_validator
devise (= 3.5.3)
devise-encryptable
devise-i18n-views
devise_security_extension
factory_girl
faker
file_validators (= 2.0.2)
flog
font-awesome-rails
font-awesome-sass
geokit
gretel
i15r (~> 0.5.1)
i18n-tasks (~> 0.9.4)
i18n_generators
jbuilder (~> 2.0)
jquery-rails
jquery-turbolinks
jruby-jars
jruby-openssl
jruby-rack
kaminari
le
lipsum
mini_magick
pg
pg_search
plugg
postmark-rails (~> 0.12.0)
prawn
puma
pushmeup
rack-attack
rack-cache
rack-throttle
rack-timeout
rails (= 4.2.6)
rails_best_practices
rails_real_favicon
randumb
redis-rails
require_all
responders
rest-client
rolify
roo (~> 2.3.2)
sass-rails (~> 5.0)
savon
sdoc (~> 0.4.0)
text
therubyracer
therubyrhino
turbolinks
uglifier (>= 1.3.0)
validates_timeliness (~> 4.0)
warbler
RUBY VERSION
ruby 2.3.0p0 (jruby 9.1.2.0)
BUNDLED WITH
1.12.5
Warble 配置文件:
Warbler::Config.new do |config|
config.webxml.rails.env = 'development'
config.features = %w(gemjar executable)
config.dirs = %w(app config db lib log vendor tmp modules public)
config.includes = FileList['Rakefile', 'lib/tasks/generate_ident.rake']
config.excludes = FileList["test/*"]
config.bundle_without = ["development", "test", "assets", "doc"]
config.jar_name = "application"
end
我一直在使用的扩展 Warbler 配置:
Warbler::Config.new do |config|
config.features = %w(gemjar compiled executable)
config.dirs = %w(app config db lib log vendor tmp modules public)
config.includes = FileList['Rakefile', 'lib/tasks/generate_ident.rake']
config.excludes = FileList["test/*", '.DS_Store']
config.java_libs += FileList["lib/*.jar"]
config.bundler = true
config.bundle_without = ["development", "test", "assets", "doc"]
config.gem_dependencies = true
config.gem_excludes = [/^(test|spec)\//, /_test.rb/, /rails_generator/]
config.jar_name = "application"
config.compiled_ruby_files = FileList['app/**/*.rb', 'config/*.rb', 'config/**/*.rb', 'lib/*.rb', 'lib/**/*.rb', 'modules/*.rb', 'modules/**/*.rb']
config.override_gem_home = true
config.move_jars_to_webinf_lib = true
config.webxml.rails.env = ENV['RAILS_ENV'] || 'development'
config.webxml.jruby.min.runtimes = 2
config.webxml.jruby.max.runtimes = 8
end
是否有我忽略的配置或其他内容?
更新:
运行 Tomcat(7) 中的独立 WAR,吐出同样的错误和更多信息:
--- System
jruby 9.1.2.0 (2.3.0) 2016-05-26 7357c8f Java HotSpot(TM) 64-Bit Server VM 25.91-b14 on 1.8.0_91-b14 +jit [linux-x86_64]
Time: 2016-06-30 10:06:49 +0000
Server: Apache Tomcat/7.0.52 (Ubuntu)
jruby.home: uri:classloader://META-INF/jruby.home
--- Context Init Parameters:
jruby.max.runtimes = 8
jruby.min.runtimes = 2
public.root = /
rails.env = development
--- Backtrace
LoadError: no such file to load -- bundler/dep_proxy
block in expand_dependencies at uri:classloader:/gems/bundler-1.12.5/lib/bundler/definition.rb:630
each at org/jruby/RubyArray.java:1593
block in expand_dependencies at uri:classloader:/gems/bundler-1.12.5/lib/bundler/definition.rb:629
each at org/jruby/RubyArray.java:1593
expand_dependencies at uri:classloader:/gems/bundler-1.12.5/lib/bundler/definition.rb:626
converge_locked_specs at uri:classloader:/gems/bundler-1.12.5/lib/bundler/definition.rb:594
resolve at uri:classloader:/gems/bundler-1.12.5/lib/bundler/definition.rb:195
specs at uri:classloader:/gems/bundler-1.12.5/lib/bundler/definition.rb:140
specs_for at uri:classloader:/gems/bundler-1.12.5/lib/bundler/definition.rb:185
requested_specs at uri:classloader:/gems/bundler-1.12.5/lib/bundler/definition.rb:174
requested_specs at uri:classloader:/gems/bundler-1.12.5/lib/bundler/environment.rb:19
setup at uri:classloader:/gems/bundler-1.12.5/lib/bundler/runtime.rb:14
setup at uri:classloader:/gems/bundler-1.12.5/lib/bundler.rb:95
<top> at uri:classloader:/gems/bundler-1.12.5/lib/bundler/setup.rb:19
require at org/jruby/RubyKernel.java:944
(root) at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:1
<top> at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:133
load at org/jruby/RubyKernel.java:962
<top> at /var/lib/tomcat7/webapps/application/WEB-INF/config/boot.class:3
require at org/jruby/RubyKernel.java:944
(root) at /var/lib/tomcat7/webapps/application/WEB-INF/config/boot.rb:1
(root) at /var/lib/tomcat7/webapps/application/WEB-INF/config/boot.rb:1
(root) at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:1
<top> at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:55
--- RubyGems
Gem.dir: /var/lib/tomcat7/webapps/application/WEB-INF/gems
Gem.path:
/usr/share/tomcat7/.gem/jruby/2.3.0
uri:classloader:/META-INF/jruby.home/lib/ruby/gems/shared
/var/lib/tomcat7/webapps/application/WEB-INF/gems
Activated gems:
bundler-1.12.5
--- Bundler
Bundler.bundle_path: /var/lib/tomcat7/webapps/application/WEB-INF/gems
Bundler.root: /var/lib/tomcat7/webapps/application/WEB-INF
Gemfile: /var/lib/tomcat7/webapps/application/WEB-INF/Gemfile
Settings:
gemfile = /var/lib/tomcat7/webapps/application/WEB-INF/Gemfile
without = development:test:assets:doc
orig_path = /bin:/usr/bin:/sbin:/usr/sbin
--- JRuby-Rack Config
compat_version =
default_logger = org.jruby.rack.logging.StandardOutLogger@5b18447d
equals = <error: >
err = org.apache.tomcat.util.log.SystemLogHandler@d610b4f
filter_adds_html = true
filter_verifies_resource = false
ignore_environment = false
initial_memory_buffer_size =
initial_runtimes = 2
jms_connection_factory =
jms_jndi_properties =
logger = org.jruby.rack.logging.ServletContextLogger@5be8fe29
logger_class_name = servlet_context
logger_name = jruby.rack
maximum_memory_buffer_size =
maximum_runtimes = 8
num_initializer_threads =
out = org.apache.tomcat.util.log.SystemLogHandler@3b4aedd8
rackup =
rackup_path =
rewindable = true
runtime_arguments =
runtime_environment =
runtime_timeout_seconds =
serial_initialization = false
servlet_context = org.apache.catalina.core.ApplicationContextFacade@1097ea05
throw_init_exception = false
--- $LOAD_PATH:
uri:classloader:/META-INF/jruby.home/lib/ruby/2.3/site_ruby
uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib
更新 2:
我已经尝试了从最新版本一直到 1.10 的每个版本的捆绑器,结果完全相同。
我也将 JRuby 降级到 1.7.25,同样的问题。
问题出在特征行:
config.features = %w(gemjar compiled executable)
如果我将其更改为:
,问题就会消失
config.features = %w(compiled executable)
我认为这是一个错误,因为 Warbler 的文档说明如下:
gemjar: This bundles all gems into a single gem file to reduce the
number of files in the .war. This is mostly useful for Google
AppEngine where the number of files per application has a limit.
(Note: not applicable for jar-based applications.)
我有一个大型 rails 应用程序已成功转换为使用 JRuby,它在本地运行没有任何问题 bundle exec rails s -b 0.0.0.0
。
我现在正在尝试使用以下内容创建可部署的 WAR 文件:
bundle exec warble executable war
这成功完成,没有错误,但是当 运行 它有:
java -jar application.war
它启动,几秒钟后,它吐出这个错误:
2016-06-28 11:48:16.544:INFO::main: Logging initialized @228ms
2016-06-28 11:48:16.553:INFO:oejr.Runner:main: Runner
2016-06-28 11:48:16.698:INFO:oejs.Server:main: jetty-9.2.9.v20150224
2016-06-28 11:48:32.680:WARN:oeja.AnnotationConfiguration:main: ServletContainerInitializers: detected. Class hierarchy: empty
2016-06-28 11:48:33.692:INFO:/:main: INFO: jruby 9.1.2.0 (2.3.0) 2016-05-26 7357c8f Java HotSpot(TM) 64-Bit Server VM 25.45-b02 on 1.8.0_45-b14 +jit [darwin-x86_64]
2016-06-28 11:48:33.694:INFO:/:main: INFO: using a shared (threadsafe!) runtime
org.jruby.exceptions.RaiseException: (LoadError) no such file to load -- bundler/dep_proxy
at RUBY.block in expand_dependencies(uri:classloader:/gems/bundler-1.12.5/lib/bundler/definition.rb:630)
at org.jruby.RubyArray.each(org/jruby/RubyArray.java:1593)
at RUBY.block in expand_dependencies(uri:classloader:/gems/bundler-1.12.5/lib/bundler/definition.rb:629)
at org.jruby.RubyArray.each(org/jruby/RubyArray.java:1593)
at RUBY.expand_dependencies(uri:classloader:/gems/bundler-1.12.5/lib/bundler/definition.rb:626)
at RUBY.converge_locked_specs(uri:classloader:/gems/bundler-1.12.5/lib/bundler/definition.rb:594)
at RUBY.resolve(uri:classloader:/gems/bundler-1.12.5/lib/bundler/definition.rb:195)
at RUBY.specs(uri:classloader:/gems/bundler-1.12.5/lib/bundler/definition.rb:140)
at RUBY.specs_for(uri:classloader:/gems/bundler-1.12.5/lib/bundler/definition.rb:185)
at RUBY.requested_specs(uri:classloader:/gems/bundler-1.12.5/lib/bundler/definition.rb:174)
at RUBY.requested_specs(uri:classloader:/gems/bundler-1.12.5/lib/bundler/environment.rb:19)
at RUBY.setup(uri:classloader:/gems/bundler-1.12.5/lib/bundler/runtime.rb:14)
at RUBY.setup(uri:classloader:/gems/bundler-1.12.5/lib/bundler.rb:95)
at RUBY.<top>(uri:classloader:/gems/bundler-1.12.5/lib/bundler/setup.rb:9)
at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:944)
at RUBY.(root)(uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:1)
at RUBY.<top>(uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:133)
at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:944)
at RUBY.(root)(/private/var/folders/9v/9b6v35h55nl94trls0l52h4c0000gn/T/jetty-0.0.0.0-8080-application.war-_-any-4553071680754868493.dir/webapp/WEB-INF/config/boot.rb:3)
at RUBY.(root)(uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:1)
at RUBY.require(uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:55)
at RUBY.<top>(uri:classloader:/jruby/rack/rails/environment3.rb:23)
由于无法加载 bundler/dep_proxy 而卡住了,谷歌搜索也没有找到类似的问题。我调整了 warbler 配置文件,但导致了同样的问题。
Ruby JRuby 与 rbenv
一起安装。
堆栈信息:
$ jruby -v
jruby 9.1.2.0 (2.3.0) 2016-05-26 7357c8f Java HotSpot(TM) 64-Bit Server VM 25.45-b02 on 1.8.0_45-b14 +jit [darwin-x86_64]
$ bundle env
Environment
Bundler 1.12.5
Rubygems 2.6.4
Ruby 2.3.0p0 (2016-05-26 revision 52539) [java]
Git 2.9.0
Gemfile
source 'https://rubygems.org'
ruby '2.3.0', :engine => 'jruby', :engine_version => '9.1.2.0'
gem 'rails', '4.2.6'
gem 'sass-rails', '~> 5.0'
gem 'bourbon'
gem 'font-awesome-sass'
gem 'uglifier', '>= 1.3.0'
gem 'jquery-rails'
gem 'jquery-turbolinks'
gem 'turbolinks'
gem 'jbuilder', '~> 2.0'
gem 'country_select'
gem 'devise', '3.5.3'
gem 'devise-i18n-views'
gem 'devise-encryptable'
gem 'devise_security_extension'
gem 'cancancan'
gem 'rolify'
gem 'carrierwave'
gem 'carrierwave-bombshelter'
gem 'mini_magick'
gem 'file_validators', '2.0.2'
gem 'gretel'
gem 'font-awesome-rails'
gem 'kaminari'
gem 'pg_search'
gem 'responders'
gem 'date_validator'
gem 'validates_timeliness', '~> 4.0'
gem 'roo', '~> 2.3.2'
gem 'lipsum', :require => false
gem 'faker', :require => false
gem 'pushmeup', :require => false
gem 'rack-attack'
gem 'barby', :require => false
gem 'prawn', :require => false
gem 'rest-client', :require => false
gem 'geokit', :require => false
gem 'text', :require => false
gem 'savon', :require => false
gem 'plugg'
gem 'postmark-rails', '~> 0.12.0'
gem 'breadcrumbs_on_rails'
platforms :ruby do
gem 'pg'
gem 'therubyracer'
end
platforms :jruby do
gem 'jruby-jars'
gem 'jruby-openssl'
gem 'jruby-rack'
gem 'activerecord-jdbcpostgresql-adapter'
gem 'puma'
gem 'therubyrhino'
group :development, :test do
gem 'warbler'
end
end
group :development, :test do
#gem 'spring'
gem 'randumb'
gem "activerecord-import", ">= 0.4.0", :require => false
gem 'factory_girl'
gem 'require_all'
gem 'rails_real_favicon'
gem 'i18n-tasks', '~> 0.9.4'
gem 'i18n_generators'
# Code Assessment Tools
gem 'i15r', '~> 0.5.1'
gem 'brakeman', :require => false
gem 'bundler-audit'
gem 'flog'
gem 'rails_best_practices'
end
group :production do
gem 'activerecord_url_connections'
gem 'le'
gem 'redis-rails'
gem 'rack-timeout'
gem 'rack-throttle'
gem 'rack-cache', :require => 'rack/cache'
end
group :doc do
gem 'sdoc', '~> 0.4.0'
end
Gemfile.lock
GEM
remote: https://rubygems.org/
specs:
actionmailer (4.2.6)
actionpack (= 4.2.6)
actionview (= 4.2.6)
activejob (= 4.2.6)
mail (~> 2.5, >= 2.5.4)
rails-dom-testing (~> 1.0, >= 1.0.5)
actionpack (4.2.6)
actionview (= 4.2.6)
activesupport (= 4.2.6)
rack (~> 1.6)
rack-test (~> 0.6.2)
rails-dom-testing (~> 1.0, >= 1.0.5)
rails-html-sanitizer (~> 1.0, >= 1.0.2)
actionview (4.2.6)
activesupport (= 4.2.6)
builder (~> 3.1)
erubis (~> 2.7.0)
rails-dom-testing (~> 1.0, >= 1.0.5)
rails-html-sanitizer (~> 1.0, >= 1.0.2)
activejob (4.2.6)
activesupport (= 4.2.6)
globalid (>= 0.3.0)
activemodel (4.2.6)
activesupport (= 4.2.6)
builder (~> 3.1)
activerecord (4.2.6)
activemodel (= 4.2.6)
activesupport (= 4.2.6)
arel (~> 6.0)
activerecord-import (0.14.1)
activerecord (>= 3.2)
activerecord-jdbc-adapter (1.3.20)
activerecord (>= 2.2)
activerecord-jdbcpostgresql-adapter (1.3.20)
activerecord-jdbc-adapter (~> 1.3.20)
jdbc-postgres (>= 9.1)
activerecord_url_connections (0.0.7)
activerecord
activesupport (4.2.6)
i18n (~> 0.7)
json (~> 1.7, >= 1.7.7)
minitest (~> 5.1)
thread_safe (~> 0.3, >= 0.3.4)
tzinfo (~> 1.1)
addressable (2.4.0)
akami (1.3.1)
gyoku (>= 0.4.0)
nokogiri
arel (6.0.3)
ast (2.3.0)
barby (0.6.4)
bcrypt (3.1.11-java)
bourbon (4.2.7)
sass (~> 3.4)
thor (~> 0.19)
brakeman (3.3.2)
breadcrumbs_on_rails (2.3.1)
builder (3.2.2)
bundler-audit (0.5.0)
bundler (~> 1.2)
thor (~> 0.18)
cancancan (1.15.0)
carrierwave (0.11.2)
activemodel (>= 3.2.0)
activesupport (>= 3.2.0)
json (>= 1.7)
mime-types (>= 1.16)
mimemagic (>= 0.3.0)
carrierwave-bombshelter (0.2.2)
activesupport (>= 3.2.0)
carrierwave
fastimage
code_analyzer (0.4.5)
sexp_processor
coffee-rails (4.1.1)
coffee-script (>= 2.2.0)
railties (>= 4.0.0, < 5.1.x)
coffee-script (2.4.1)
coffee-script-source
execjs
coffee-script-source (1.10.0)
concurrent-ruby (1.0.2-java)
countries (1.2.5)
currencies (~> 0.4.2)
i18n_data (~> 0.7.0)
country_select (2.5.2)
countries (~> 1.2.0)
sort_alphabetical (~> 1.0)
currencies (0.4.2)
date_validator (0.9.0)
activemodel
activesupport
devise (3.5.3)
bcrypt (~> 3.0)
orm_adapter (~> 0.1)
railties (>= 3.2.6, < 5)
responders
thread_safe (~> 0.1)
warden (~> 1.2.3)
devise-encryptable (0.2.0)
devise (>= 2.1.0)
devise-i18n-views (0.3.7)
devise_security_extension (0.10.0)
devise (>= 3.0.0, < 4.0)
railties (>= 3.2.6, < 5.0)
domain_name (0.5.20160615)
unf (>= 0.0.5, < 1.0.0)
easy_translate (0.5.0)
json
thread
thread_safe
erubis (2.7.0)
execjs (2.7.0)
factory_girl (4.7.0)
activesupport (>= 3.0.0)
faker (1.6.3)
i18n (~> 0.5)
fastimage (2.0.0)
addressable (~> 2)
file_validators (2.0.2)
activemodel (>= 3.0)
mime-types (>= 1.0)
flog (4.4.0)
path_expander (~> 1.0)
ruby_parser (~> 3.1, > 3.1.0)
sexp_processor (~> 4.4)
font-awesome-rails (4.6.3.1)
railties (>= 3.2, < 5.1)
font-awesome-sass (4.6.2)
sass (>= 3.2)
geokit (1.10.0)
globalid (0.3.6)
activesupport (>= 4.1.0)
gretel (3.0.8)
rails (>= 3.2.0)
gyoku (1.3.1)
builder (>= 2.1.2)
highline (1.7.8)
http-cookie (1.0.2)
domain_name (~> 0.5)
httparty (0.13.7)
json (~> 1.8)
multi_xml (>= 0.5.2)
httpi (2.4.2)
rack
socksify
i15r (0.5.5)
i18n (0.7.0)
i18n-tasks (0.9.5)
activesupport (>= 4.0.2)
ast (>= 2.1.0)
easy_translate (>= 0.5.0)
erubis
highline (>= 1.7.3)
i18n
parser (>= 2.2.3.0)
term-ansicolor (>= 1.3.2)
terminal-table (>= 1.5.1)
i18n_data (0.7.0)
i18n_generators (2.1.1)
rails (>= 3.0.0)
jbuilder (2.5.0)
activesupport (>= 3.0.0, < 5.1)
multi_json (~> 1.2)
jdbc-postgres (9.4.1206)
jquery-rails (4.1.1)
rails-dom-testing (>= 1, < 3)
railties (>= 4.2.0)
thor (>= 0.14, < 2.0)
jquery-turbolinks (2.1.0)
railties (>= 3.1.0)
turbolinks
jruby-jars (9.1.2.0)
jruby-openssl (0.9.17-java)
jruby-rack (1.1.20)
json (1.8.3-java)
kaminari (0.17.0)
actionpack (>= 3.0.0)
activesupport (>= 3.0.0)
le (2.7.2)
lipsum (1.2.0)
nokogiri
loofah (2.0.3)
nokogiri (>= 1.5.9)
mail (2.6.4)
mime-types (>= 1.16, < 4)
mime-types (2.99.2)
mimemagic (0.3.1)
mini_magick (4.5.1)
minitest (5.9.0)
multi_json (1.12.1)
multi_xml (0.5.5)
netrc (0.11.0)
nokogiri (1.6.8-java)
nori (2.6.0)
orm_adapter (0.5.0)
parser (2.3.1.2)
ast (~> 2.2)
path_expander (1.0.0)
pdf-core (0.6.1)
pg_search (1.0.6)
activerecord (>= 3.1)
activesupport (>= 3.1)
arel
plugg (0.0.4)
postmark (1.7.1)
json
rake
postmark-rails (0.12.0)
actionmailer (>= 3.0.0)
postmark (~> 1.7.0)
prawn (2.1.0)
pdf-core (~> 0.6.1)
ttfunk (~> 1.4.0)
puma (3.4.0-java)
pushmeup (0.3.0)
httparty
json
rack (1.6.4)
rack-attack (4.4.1)
rack
rack-cache (1.6.1)
rack (>= 0.4)
rack-test (0.6.3)
rack (>= 1.0)
rack-throttle (0.4.0)
rack (>= 1.0.0)
rack-timeout (0.4.2)
rails (4.2.6)
actionmailer (= 4.2.6)
actionpack (= 4.2.6)
actionview (= 4.2.6)
activejob (= 4.2.6)
activemodel (= 4.2.6)
activerecord (= 4.2.6)
activesupport (= 4.2.6)
bundler (>= 1.3.0, < 2.0)
railties (= 4.2.6)
sprockets-rails
rails-deprecated_sanitizer (1.0.3)
activesupport (>= 4.2.0.alpha)
rails-dom-testing (1.0.7)
activesupport (>= 4.2.0.beta, < 5.0)
nokogiri (~> 1.6.0)
rails-deprecated_sanitizer (>= 1.0.1)
rails-html-sanitizer (1.0.3)
loofah (~> 2.0)
rails_best_practices (1.16.0)
activesupport
code_analyzer (>= 0.4.3)
erubis
i18n
json
require_all
ruby-progressbar
rails_real_favicon (0.0.3)
json (~> 1.7)
rails (>= 3.1, < 5)
rest-client (~> 1.8)
rubyzip (~> 1)
railties (4.2.6)
actionpack (= 4.2.6)
activesupport (= 4.2.6)
rake (>= 0.8.7)
thor (>= 0.18.1, < 2.0)
rake (11.2.2)
randumb (0.5.0)
activerecord (>= 3.0.0)
activesupport (>= 3.0.0)
rake
rdoc (4.2.2)
json (~> 1.4)
redis (3.3.0)
redis-actionpack (4.0.1)
actionpack (~> 4)
redis-rack (~> 1.5.0)
redis-store (~> 1.1.0)
redis-activesupport (4.1.5)
activesupport (>= 3, < 5)
redis-store (~> 1.1.0)
redis-rack (1.5.0)
rack (~> 1.5)
redis-store (~> 1.1.0)
redis-rails (4.0.0)
redis-actionpack (~> 4)
redis-activesupport (~> 4)
redis-store (~> 1.1.0)
redis-store (1.1.7)
redis (>= 2.2)
require_all (1.3.3)
responders (2.2.0)
railties (>= 4.2.0, < 5.1)
rest-client (1.8.0)
http-cookie (>= 1.0.2, < 2.0)
mime-types (>= 1.16, < 3.0)
netrc (~> 0.7)
rolify (5.1.0)
roo (2.3.2)
nokogiri (~> 1)
rubyzip (~> 1.1, < 2.0.0)
ruby-progressbar (1.8.1)
ruby_parser (3.8.2)
sexp_processor (~> 4.1)
rubyzip (1.2.0)
sass (3.4.22)
sass-rails (5.0.4)
railties (>= 4.0.0, < 5.0)
sass (~> 3.1)
sprockets (>= 2.8, < 4.0)
sprockets-rails (>= 2.0, < 4.0)
tilt (>= 1.1, < 3)
savon (2.11.1)
akami (~> 1.2)
builder (>= 2.1.2)
gyoku (~> 1.2)
httpi (~> 2.3)
nokogiri (>= 1.4.0)
nori (~> 2.4)
wasabi (~> 3.4)
sdoc (0.4.1)
json (~> 1.7, >= 1.7.7)
rdoc (~> 4.0)
sexp_processor (4.7.0)
socksify (1.7.0)
sort_alphabetical (1.0.2)
unicode_utils (>= 1.2.2)
sprockets (3.6.2)
concurrent-ruby (~> 1.0)
rack (> 1, < 3)
sprockets-rails (3.1.0)
actionpack (>= 4.0)
activesupport (>= 4.0)
sprockets (>= 3.0.0)
term-ansicolor (1.3.2)
tins (~> 1.0)
terminal-table (1.6.0)
text (1.3.1)
therubyrhino (2.0.4)
therubyrhino_jar (>= 1.7.3)
therubyrhino_jar (1.7.6)
thor (0.19.1)
thread (0.2.2)
thread_safe (0.3.5-java)
tilt (2.0.5)
timeliness (0.3.8)
tins (1.10.2)
ttfunk (1.4.0)
turbolinks (2.5.3)
coffee-rails
tzinfo (1.2.2)
thread_safe (~> 0.1)
uglifier (3.0.0)
execjs (>= 0.3.0, < 3)
unf (0.1.4-java)
unicode_utils (1.4.0)
validates_timeliness (4.0.2)
timeliness (~> 0.3.7)
warbler (2.0.3)
jruby-jars (>= 9.0.0.0)
jruby-rack (>= 1.1.1, < 1.3)
rake (>= 10.1.0)
rubyzip (~> 1.0, < 1.4)
warden (1.2.6)
rack (>= 1.0)
wasabi (3.5.0)
httpi (~> 2.0)
nokogiri (>= 1.4.2)
PLATFORMS
java
DEPENDENCIES
activerecord-import (>= 0.4.0)
activerecord-jdbcpostgresql-adapter
activerecord_url_connections
barby
bourbon
brakeman
breadcrumbs_on_rails
bundler-audit
cancancan
carrierwave
carrierwave-bombshelter
country_select
date_validator
devise (= 3.5.3)
devise-encryptable
devise-i18n-views
devise_security_extension
factory_girl
faker
file_validators (= 2.0.2)
flog
font-awesome-rails
font-awesome-sass
geokit
gretel
i15r (~> 0.5.1)
i18n-tasks (~> 0.9.4)
i18n_generators
jbuilder (~> 2.0)
jquery-rails
jquery-turbolinks
jruby-jars
jruby-openssl
jruby-rack
kaminari
le
lipsum
mini_magick
pg
pg_search
plugg
postmark-rails (~> 0.12.0)
prawn
puma
pushmeup
rack-attack
rack-cache
rack-throttle
rack-timeout
rails (= 4.2.6)
rails_best_practices
rails_real_favicon
randumb
redis-rails
require_all
responders
rest-client
rolify
roo (~> 2.3.2)
sass-rails (~> 5.0)
savon
sdoc (~> 0.4.0)
text
therubyracer
therubyrhino
turbolinks
uglifier (>= 1.3.0)
validates_timeliness (~> 4.0)
warbler
RUBY VERSION
ruby 2.3.0p0 (jruby 9.1.2.0)
BUNDLED WITH
1.12.5
Warble 配置文件:
Warbler::Config.new do |config|
config.webxml.rails.env = 'development'
config.features = %w(gemjar executable)
config.dirs = %w(app config db lib log vendor tmp modules public)
config.includes = FileList['Rakefile', 'lib/tasks/generate_ident.rake']
config.excludes = FileList["test/*"]
config.bundle_without = ["development", "test", "assets", "doc"]
config.jar_name = "application"
end
我一直在使用的扩展 Warbler 配置:
Warbler::Config.new do |config|
config.features = %w(gemjar compiled executable)
config.dirs = %w(app config db lib log vendor tmp modules public)
config.includes = FileList['Rakefile', 'lib/tasks/generate_ident.rake']
config.excludes = FileList["test/*", '.DS_Store']
config.java_libs += FileList["lib/*.jar"]
config.bundler = true
config.bundle_without = ["development", "test", "assets", "doc"]
config.gem_dependencies = true
config.gem_excludes = [/^(test|spec)\//, /_test.rb/, /rails_generator/]
config.jar_name = "application"
config.compiled_ruby_files = FileList['app/**/*.rb', 'config/*.rb', 'config/**/*.rb', 'lib/*.rb', 'lib/**/*.rb', 'modules/*.rb', 'modules/**/*.rb']
config.override_gem_home = true
config.move_jars_to_webinf_lib = true
config.webxml.rails.env = ENV['RAILS_ENV'] || 'development'
config.webxml.jruby.min.runtimes = 2
config.webxml.jruby.max.runtimes = 8
end
是否有我忽略的配置或其他内容?
更新:
运行 Tomcat(7) 中的独立 WAR,吐出同样的错误和更多信息:
--- System
jruby 9.1.2.0 (2.3.0) 2016-05-26 7357c8f Java HotSpot(TM) 64-Bit Server VM 25.91-b14 on 1.8.0_91-b14 +jit [linux-x86_64]
Time: 2016-06-30 10:06:49 +0000
Server: Apache Tomcat/7.0.52 (Ubuntu)
jruby.home: uri:classloader://META-INF/jruby.home
--- Context Init Parameters:
jruby.max.runtimes = 8
jruby.min.runtimes = 2
public.root = /
rails.env = development
--- Backtrace
LoadError: no such file to load -- bundler/dep_proxy
block in expand_dependencies at uri:classloader:/gems/bundler-1.12.5/lib/bundler/definition.rb:630
each at org/jruby/RubyArray.java:1593
block in expand_dependencies at uri:classloader:/gems/bundler-1.12.5/lib/bundler/definition.rb:629
each at org/jruby/RubyArray.java:1593
expand_dependencies at uri:classloader:/gems/bundler-1.12.5/lib/bundler/definition.rb:626
converge_locked_specs at uri:classloader:/gems/bundler-1.12.5/lib/bundler/definition.rb:594
resolve at uri:classloader:/gems/bundler-1.12.5/lib/bundler/definition.rb:195
specs at uri:classloader:/gems/bundler-1.12.5/lib/bundler/definition.rb:140
specs_for at uri:classloader:/gems/bundler-1.12.5/lib/bundler/definition.rb:185
requested_specs at uri:classloader:/gems/bundler-1.12.5/lib/bundler/definition.rb:174
requested_specs at uri:classloader:/gems/bundler-1.12.5/lib/bundler/environment.rb:19
setup at uri:classloader:/gems/bundler-1.12.5/lib/bundler/runtime.rb:14
setup at uri:classloader:/gems/bundler-1.12.5/lib/bundler.rb:95
<top> at uri:classloader:/gems/bundler-1.12.5/lib/bundler/setup.rb:19
require at org/jruby/RubyKernel.java:944
(root) at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:1
<top> at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:133
load at org/jruby/RubyKernel.java:962
<top> at /var/lib/tomcat7/webapps/application/WEB-INF/config/boot.class:3
require at org/jruby/RubyKernel.java:944
(root) at /var/lib/tomcat7/webapps/application/WEB-INF/config/boot.rb:1
(root) at /var/lib/tomcat7/webapps/application/WEB-INF/config/boot.rb:1
(root) at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:1
<top> at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:55
--- RubyGems
Gem.dir: /var/lib/tomcat7/webapps/application/WEB-INF/gems
Gem.path:
/usr/share/tomcat7/.gem/jruby/2.3.0
uri:classloader:/META-INF/jruby.home/lib/ruby/gems/shared
/var/lib/tomcat7/webapps/application/WEB-INF/gems
Activated gems:
bundler-1.12.5
--- Bundler
Bundler.bundle_path: /var/lib/tomcat7/webapps/application/WEB-INF/gems
Bundler.root: /var/lib/tomcat7/webapps/application/WEB-INF
Gemfile: /var/lib/tomcat7/webapps/application/WEB-INF/Gemfile
Settings:
gemfile = /var/lib/tomcat7/webapps/application/WEB-INF/Gemfile
without = development:test:assets:doc
orig_path = /bin:/usr/bin:/sbin:/usr/sbin
--- JRuby-Rack Config
compat_version =
default_logger = org.jruby.rack.logging.StandardOutLogger@5b18447d
equals = <error: >
err = org.apache.tomcat.util.log.SystemLogHandler@d610b4f
filter_adds_html = true
filter_verifies_resource = false
ignore_environment = false
initial_memory_buffer_size =
initial_runtimes = 2
jms_connection_factory =
jms_jndi_properties =
logger = org.jruby.rack.logging.ServletContextLogger@5be8fe29
logger_class_name = servlet_context
logger_name = jruby.rack
maximum_memory_buffer_size =
maximum_runtimes = 8
num_initializer_threads =
out = org.apache.tomcat.util.log.SystemLogHandler@3b4aedd8
rackup =
rackup_path =
rewindable = true
runtime_arguments =
runtime_environment =
runtime_timeout_seconds =
serial_initialization = false
servlet_context = org.apache.catalina.core.ApplicationContextFacade@1097ea05
throw_init_exception = false
--- $LOAD_PATH:
uri:classloader:/META-INF/jruby.home/lib/ruby/2.3/site_ruby
uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib
更新 2:
我已经尝试了从最新版本一直到 1.10 的每个版本的捆绑器,结果完全相同。
我也将 JRuby 降级到 1.7.25,同样的问题。
问题出在特征行:
config.features = %w(gemjar compiled executable)
如果我将其更改为:
,问题就会消失config.features = %w(compiled executable)
我认为这是一个错误,因为 Warbler 的文档说明如下:
gemjar: This bundles all gems into a single gem file to reduce the number of files in the .war. This is mostly useful for Google AppEngine where the number of files per application has a limit. (Note: not applicable for jar-based applications.)