Latest news

JavaRebel 1.2.1 and Spring Plugin 1.0-M2 Released

We are very proud to present not one, but two simultaneous releases....

JavaRebel used to develop LinkedIn

LinkedIn, Corp. has purchased JavaRebel licenses for all its Java engineers to use in the well-known social networking website dev...

JavaRebel 1.2: Now With Full Spring Support

The latest stable release of the JavaRebel code reloading agent includes a plugin for Spring that reloads Spring configuration on-...

Features

JavaRebel is a developer tool that will reload changes to compiled Java classes on-the-fly saving the time that it takes to redeploy an application or perform a container restart. It is a generic solution that works for Java EE and Java standalone applications.

JavaRebel installs as a JVM plugin (-javaagent) and works by monitoring the timestamp of class files. When it is updated (e.g. when a developer saves a class from the IDE) JavaRebel will reload the changes to class code and structure while preserving all existing class instances. The following table details the type of changes to classes supported as compared to the usual debug-mode hot code reloading (referred to as HotSwap):

Sun JVM HotSwap JavaRebel
Changing method bodies + +
Adding/removing methods - +
Adding/removing constructors - +
Adding/removing fields - +
Adding/removing classes - +
Adding/removing annotations - +
Changing interfaces - +
Replacing superclass - -
Adding/removing implemented interfaces - -

Supported JVMs

  • Sun Java 1.4.x
  • Sun Java 5.x
  • Sun Java 6.x
  • JRockit JVM 8.1sp6 or later
  • JRockit JVM 9.x 1.5.0_06 or later
  • IBM J9 1.4.x
  • IBM J9 5.x
  • IBM J9 6.x
  • Apple MRJ 5.x
  • Apple MRJ 1.4.x
  • Apple MRJ 5.x

Supported Containers:

  • BEA Weblogic 8.x, 9.x, 10.x
  • GlassFish v2
  • Oracle OC4J 9.x, 10.x
  • Tomcat 4.x, 5.x, 6.x
  • JBoss 3.x, 4.x (on Java 5 or later)
  • Jetty 5.x, 6.x (on Java 5 or later)
  • Equinox OSGi (including Eclipse plugins)
  • IntelliJ IDEA plugins