diff --git a/README.rdoc b/README.rdoc index a00937a1..8e6f06eb 100644 --- a/README.rdoc +++ b/README.rdoc @@ -246,6 +246,48 @@ task to give you more insight into what's going on. If you think you found a bug, please file one at https://github.com/jruby/warbler/issues. +=== Common issues with executable wars + +If your app isn't working or starting up correctly: + +- Missing Logging: + If your boot process is failing silently (or with a logging warning), try configuring the logger + manually: + + java "-Dorg.eclipse.jetty.util.log.class=org.eclipse.jetty.util.log.StdErrLog" -jar my_app.war + +- CompatVersion errors: + If you are getting java.lang.NoClassDefFoundError: org/jruby/CompatVersion errors at start-up + you are probably running Warbler with a jruby-rack version which does not yet support JRuby 10+ - it + swallows the true error making debugging impossible. Ensure you're on jruby-rack `1.2.7+`. + + If your app starts up OK, there is no other known change required in jruby-rack to support + JRuby 10.0. + +- Bundler `restart_with` errors: + If you are getting org.jruby.rack.RackInitializationException: No such file or directory - java -cp..., + that probably means bundler is trying to switch versions dynamically during start-up because your + `Gemfile.lock` implies a different locked version of bundler to that packaged with JRuby by default. + + JRuby/Bundler running embedded inside a jar like this does not support switching bundler versions dynamically. + + This may happen due to + - system gems for jruby installation upgradingg bundler to a newer version than packaged by default + - running bundle update --bundler + - using `BUNDLE_VERSION` to override bundle version which generating/editing your `Gemfile.lock` + + Options to address this + - use bundle config set version system / bundle config set disable_shared_gems to avoid bundler picking system versions + - ensure your `Gemfile.lock`'s BUNDLED WITH version matches the default bundler packaged with your `jruby-jars` version. + You can check inside the relevant `jruby-stdlib` jar or inside a clean installation dir from your Ruby version manager of choice. + - remove BUNDLED WITH entirely from `Gemfile.lock`. Sometimes bundler will add this back again; so not recommended in the longer term + +- Rack version compatibility + An exception happened during JRuby-Rack startup + no such file to load -- rack/chunked + You are trying to use Rack 3.x with a jruby-rack version that does not yet support Rack 3. Try upgrading to a compatible + jruby-rack version, or lock rack at a compatibile version with gem 'rack', '~> 2.2.0'. Note that Rack `2.2` requires Rails < `8.1`. + == Source You can get the Warbler source using Git, in any of the following ways: @@ -258,9 +300,9 @@ https://github.com/jruby/warbler/archive/master.zip. == Development You can develop Warbler with any implementation of Ruby. To write Warbler code -and run specs, you need to have Bundler installed and run bundle once. +and run specs, you need to have Bundler installed and run bundle install once. -After that, simply run rake. +After that, simply run +rake+. === Integration Tests @@ -277,7 +319,5 @@ You'll need to have Maven >= 3.1.1 installed, of course: http://maven.apache.org Warbler is provided under the terms of the MIT license. Warbler (c) 2013-2018 The JRuby Team - Warbler (c) 2010-2012 Engine Yard, Inc. - Warbler (c) 2007-2009 Sun Microsystems, Inc.