JRuby, an implementation of Ruby on the JVM
Switch branches/tags
Clone or download
Failed to load latest commit information.
.mvn Update polyglot-ruby to get sorted properties. Oct 17, 2018
antlib Merge branch 'jruby-1_7' Nov 15, 2015
bench [bench] add an artificial yet useful UTF-8 encoding benchmark Jul 16, 2018
bin Add opens for java.io and java.nio.channels to improve compat. Nov 5, 2018
core remove 'dummy' getClass() from RubyRegexp (#5410) Nov 16, 2018
install Make irb in start menu not display ruby version it is for since we only Oct 31, 2018
ivy Bump for next dev version Dec 22, 2014
lib Update for next dev cycle. Nov 13, 2018
maven [build] remove MaxPermSize (#5251) Jul 16, 2018
rakelib Remove JVM_MODEL flag from build. Oct 11, 2018
samples Remove TruffleRuby. Jan 14, 2017
spec Add spec for heap vars updated in presence of ensure. For #5439. Nov 14, 2018
test More updates for excludes. Nov 2, 2018
tool Add a CI job for the "sequel" gem (#5432) Nov 9, 2018
.gitattributes *.bash files are text files Jun 27, 2013
.gitignore Switch to webrick default gem and add xmlrpc default gem. May 15, 2018
.travis-maven-settings.xml Deploy snapshots to Sonatype on successful build. Jul 4, 2018
.travis.yml Add a CI job for the "sequel" gem (#5432) Nov 9, 2018
BSDL Clean up license information a bit for #3198. Aug 6, 2015
BUILDING.md [#5287] Use epoll selector for file IO on macosx Oct 18, 2018
CODE_OF_CONDUCT.md Add code of conduct Aug 18, 2015
ISSUE_TEMPLATE.md Clean up issue template; people know to delete text. Jun 11, 2016
LEGAL Adding back LEGAL (for Ola) Dec 6, 2007
LICENSE.RUBY Clean up license information a bit for #3198. Aug 6, 2015
README.md mention nightlies + needs for Java 8; remove 1.7 CI Oct 1, 2018
Rakefile Remove broken 'rake gen' task Aug 10, 2016
VERSION Update for next dev cycle. Nov 13, 2018
appveyor.yml AppVeyor: JAVA_OPTS, MAVEN_OPTS to same as Travis Dec 5, 2016
default.build.properties Merge branch 'jruby-9.1' Apr 12, 2018
findbugs.xml Ignore intentional String equality checking in RubyModule in FindBugs. Jun 1, 2010
lifecycle-mapping-metadata.xml * Updated config for Eclipse IDE Oct 14, 2013
mvnw Fix jar file path for Cygwin Sep 29, 2018
mvnw.cmd Add maven-wrapper mvnw Jan 27, 2016
pom.rb Update jffi to 1.2.18 for refreshed 32-bit ARM support. Oct 30, 2018
pom.xml Update for next dev cycle. Nov 13, 2018


JRuby - an implementation of the Ruby language on the JVM

Master: Build Status 9.1 branch: Build Status


JRuby is an implementation of the Ruby language using the JVM.

It aims to be a complete, correct and fast implementation of Ruby, at the same time as providing powerful new features such as concurrency without a global-interpreter-lock, true parallelism, and tight integration to the Java language to allow you to use Java classes in your Ruby program and to allow JRuby to be embedded into a Java application.

You can use JRuby simply as a faster version of Ruby, you can use it to run Ruby on the JVM and access powerful JVM libraries such as highly tuned concurrency primitives, you can use it to embed Ruby as a scripting language in your Java program, or many other possibilities.

We're a welcoming community - you can talk to us on #jruby on Freenode. There are core team members in the EU and US time zones.

Visit the JRuby website and the JRuby wiki for more information.

Getting JRuby

To run JRuby you will need a JRE (the Java VM runtime environment) version 8 or higher.

Your operating system may provide a JRE and JRuby in a package manager, but you may find that this version is very old.

An alternative is to use one of the Ruby version managers.

For rbenv you will need the ruby-build plugin. You may find that your system package manager can provide these. To see which versions of JRuby are available you should run:

$ rbenv install jruby

Note: if you do not regularly git update rbenv this list of versions may be out of date.

We recommend always selecting the latest version of JRuby from the list. You can install that particular version ( is just for illustration):

$ rbenv install jruby-

For rvm you can simply do:

$ rvm install jruby

You can also download packages from the JRuby website that you can unpack and run in place.

Building JRuby

See BUILDING for information about prerequisites, how to compile JRuby from source and how to test it.

Alternatively, if you need to test out some unreleased bits, there's nightly builds.


Stefan Matthias Aust, Anders Bengtsson, Geert Bevin, Ola Bini, Piergiuliano Bossi, Johannes Brodwall, Rocky Burt, Paul Butcher, Benoit Cerrina, Wyss Clemens, David Corbin, Benoit Daloze, Thomas E Enebo, Robert Feldt, Chad Fowler, Russ Freeman, Joey Gibson, Kiel Hodges, Xandy Johnson, Kelvin Liu, Kevin Menard, Alan Moore, Akinori Musha, Charles Nutter, Takashi Okamoto, Jan Arne Petersen, Tobias Reif, David Saff, Subramanya Sastry, Chris Seaton, Nick Sieger, Ed Sinjiashvili, Vladimir Sizikov, Daiki Ueno, Matthias Veit, Jason Voegele, Sergey Yevtushenko, Robert Yokota, and many gracious contributors from the community.

JRuby uses code generously shared by the creator of the Ruby language, Yukihiro Matsumoto matz@netlab.co.jp.

Project Contact: Thomas E Enebo tom.enebo@gmail.com


JRuby is licensed to you under three licenses - the EPL 2.0, GPL 2 and LGPL 2.1. Some components have other licenses and copyright. See the COPYING file for more specifics.