Blog

It is our great pleasure to announce JRebel 2.2, the “Easy Peasy” release. In this release we have focused heavily on ease of installation, configuration and use. The main new feature is the semi-automatic installer and configuration wizard, that makes installing JRebel and configuring your application a snap. We have also included a configuration utility that supplements all those funky system properties with a centralized GUI configuration. For those who prefers the Zen of the Command Line we have compiled a comprehensive reference manual about all things JRebel included in the distribution.

We also invested heavily into making the JRebel IDE integration as seamless as possible. The new NetBeans plugin now supports debugging when the JRebel agent is enabled. The numerous updates to Eclipse and IntelliJ IDEA plugins allow you to run the application with JRebel effortlessly from inside the IDE.

Take a look at the full changelog, download now or check out the screenshots:

jrebel-config-wizard Picture 2 Picture 3

launch cartoon

Jevgeni Kabanov

Jevgeni Kabanov is the founder and CTO of ZeroTurnaround (www.zeroturnaround.com), a development tools company that focuses on productivity. Jevgeni has been speaking at international conferences for over 5 years, including JavaPolis/Devoxx, JavaZone, JAOO, QCon, TSSJS, JFokus and so on. He also has an active research interest in programming languages, types and virtual machines, publishing several papers on topics ranging from category theoretical notions to typesafe Java DSLs. You can follow Jevgeni on Twitter as @ekabanov.

WebsiteTwitterMore Posts

  • James

    Hello,

    My first attempt at using the installer on Snow Leopard

    java -jar jrebel-setup.jar

    results in the following error

    Error executing /bin/chmod a+x /Applications/ZeroTurnaround/JRebel/bin/jrebel-config.sh

    That file is not present.

    Any ideas?

  • James

    Hello,

    My first attempt at using the installer on Snow Leopard

    java -jar jrebel-setup.jar

    results in the following error

    Error executing /bin/chmod a+x /Applications/ZeroTurnaround/JRebel/bin/jrebel-config.sh

    That file is not present.

    Any ideas?

  • Thierry-Dimitri Roy

    Got this stack trace under Windows Server 2008:
    could not create shortcut instance
    java.lang.Exception: unidentified problem initializing COM
    java.lang.UnsatisfiedLinkError: com.izforge.izpack.util.os.ShellLink.initializeCOM()I
    at com.izforge.izpack.util.os.ShellLink.initialize(ShellLink.java:520)
    at com.izforge.izpack.util.os.ShellLink.(ShellLink.java:374)
    at com.izforge.izpack.util.os.Win_Shortcut.initialize(Win_Shortcut.java:82)
    at com.izforge.izpack.panels.ShortcutPanel.panelActivate(ShortcutPanel.java:812)
    at com.izforge.izpack.installer.InstallerFrame.switchPanel(InstallerFrame.java:837)
    at com.izforge.izpack.installer.InstallerFrame.navigateNext(InstallerFrame.java:1449)
    at com.izforge.izpack.installer.InstallerFrame.navigateNext(InstallerFrame.java:1417)
    at com.izforge.izpack.installer.InstallerFrame$NavigationHandler.actionPerformed(InstallerFrame.java:1559)
    at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
    at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
    at java.awt.Component.processMouseEvent(Unknown Source)
    at javax.swing.JComponent.processMouseEvent(Unknown Source)
    at java.awt.Component.processEvent(Unknown Source)
    at java.awt.Container.processEvent(Unknown Source)
    at java.awt.Component.dispatchEventImpl(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Window.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)
    java.lang.NullPointerException
    at com.izforge.izpack.util.os.Win_Shortcut.getProgramsFolder(Win_Shortcut.java:679)
    at com.izforge.izpack.panels.ShortcutPanel.getProgramsFolder(ShortcutPanel.java:915)
    at com.izforge.izpack.panels.ShortcutPanel.panelActivate(ShortcutPanel.java:826)
    at com.izforge.izpack.installer.InstallerFrame.switchPanel(InstallerFrame.java:837)
    at com.izforge.izpack.installer.InstallerFrame.navigateNext(InstallerFrame.java:1449)
    at com.izforge.izpack.installer.InstallerFrame.navigateNext(InstallerFrame.java:1417)
    at com.izforge.izpack.installer.InstallerFrame$NavigationHandler.actionPerformed(InstallerFrame.java:1559)
    at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
    at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
    at java.awt.Component.processMouseEvent(Unknown Source)
    at javax.swing.JComponent.processMouseEvent(Unknown Source)
    at java.awt.Component.processEvent(Unknown Source)
    at java.awt.Container.processEvent(Unknown Source)
    at java.awt.Component.dispatchEventImpl(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Window.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)

  • Thierry-Dimitri Roy

    Got this stack trace under Windows Server 2008:
    could not create shortcut instance
    java.lang.Exception: unidentified problem initializing COM
    java.lang.UnsatisfiedLinkError: com.izforge.izpack.util.os.ShellLink.initializeCOM()I
    at com.izforge.izpack.util.os.ShellLink.initialize(ShellLink.java:520)
    at com.izforge.izpack.util.os.ShellLink.(ShellLink.java:374)
    at com.izforge.izpack.util.os.Win_Shortcut.initialize(Win_Shortcut.java:82)
    at com.izforge.izpack.panels.ShortcutPanel.panelActivate(ShortcutPanel.java:812)
    at com.izforge.izpack.installer.InstallerFrame.switchPanel(InstallerFrame.java:837)
    at com.izforge.izpack.installer.InstallerFrame.navigateNext(InstallerFrame.java:1449)
    at com.izforge.izpack.installer.InstallerFrame.navigateNext(InstallerFrame.java:1417)
    at com.izforge.izpack.installer.InstallerFrame$NavigationHandler.actionPerformed(InstallerFrame.java:1559)
    at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
    at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
    at java.awt.Component.processMouseEvent(Unknown Source)
    at javax.swing.JComponent.processMouseEvent(Unknown Source)
    at java.awt.Component.processEvent(Unknown Source)
    at java.awt.Container.processEvent(Unknown Source)
    at java.awt.Component.dispatchEventImpl(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Window.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)
    java.lang.NullPointerException
    at com.izforge.izpack.util.os.Win_Shortcut.getProgramsFolder(Win_Shortcut.java:679)
    at com.izforge.izpack.panels.ShortcutPanel.getProgramsFolder(ShortcutPanel.java:915)
    at com.izforge.izpack.panels.ShortcutPanel.panelActivate(ShortcutPanel.java:826)
    at com.izforge.izpack.installer.InstallerFrame.switchPanel(InstallerFrame.java:837)
    at com.izforge.izpack.installer.InstallerFrame.navigateNext(InstallerFrame.java:1449)
    at com.izforge.izpack.installer.InstallerFrame.navigateNext(InstallerFrame.java:1417)
    at com.izforge.izpack.installer.InstallerFrame$NavigationHandler.actionPerformed(InstallerFrame.java:1559)
    at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
    at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
    at java.awt.Component.processMouseEvent(Unknown Source)
    at javax.swing.JComponent.processMouseEvent(Unknown Source)
    at java.awt.Component.processEvent(Unknown Source)
    at java.awt.Container.processEvent(Unknown Source)
    at java.awt.Component.dispatchEventImpl(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Window.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)

  • acton

    as indicated in other post, I have OutOfMemoryError after switching to 2.2. had to rollback to 2.1.1

  • acton

    as indicated in other post, I have OutOfMemoryError after switching to 2.2. had to rollback to 2.1.1

  • http://www.zeroturnaround.com/ Toomas Römer

    @James

    Did you just see it in the console as a log message and the installation went fine or it was a show stopper for installation? Can you report back to support@zeroturnaround.com (easier to raise and maintain this issue ).

    @Thierry-Dimitri Roy

    A windows specialist has contacted you via email

    @acton

    Can you post more details to support@zeroturnaround.com

  • http://www.zeroturnaround.com Toomas Römer

    @James

    Did you just see it in the console as a log message and the installation went fine or it was a show stopper for installation? Can you report back to support@zeroturnaround.com (easier to raise and maintain this issue ).

    @Thierry-Dimitri Roy

    A windows specialist has contacted you via email

    @acton

    Can you post more details to support@zeroturnaround.com

  • wyz

    Hi,

    I have been using JRebel since 2.1a for Wicket development with embedded Jetty 6 and it worked like a charm.

    But after I have changed the jar file to JRebel to 2.2 I am started having errors when I change some code on-the-fly.

    The exception reads:
    Root cause:

    com.zeroturnaround.javarebel.dj
    at com.zeroturnaround.javarebel.fR.(JRebel:41)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:169)
    at com.zeroturnaround.javarebel.cc.a(JRebel:37)
    at com.zeroturnaround.javarebel.cc.a(JRebel:70)
    at com.zeroturnaround.javarebel.dw.a(Unknown Source)
    at com.zeroturnaround.javarebel.dw.a(Unknown Source)
    at com.zeroturnaround.javarebel.java5.AgentInstall.a(JRebel:96)
    at com.zeroturnaround.javarebel.java5.AgentInstall.a(JRebel:68)
    at com.zeroturnaround.javarebel.java5.AgentInstall.premain(JRebel:41)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at sun.instrument.InstrumentationImpl.loadClassAndStartAgent(InstrumentationImpl.java:323)
    at sun.instrument.InstrumentationImpl.loadClassAndCallPremain(InstrumentationImpl.java:338)

    I also see error message in the console:
    Caused by: java.io.NotSerializableException: com.zeroturnaround.javarebel.I
    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1156)
    at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509)
    at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474)
    at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
    at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1338)
    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146)
    at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509)
    at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474)
    at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
    at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1338)
    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146)
    at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509)
    at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474)
    at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
    at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
    at org.apache.wicket.util.io.IObjectStreamFactory$DefaultObjectStreamFactory$2.writeObjectOverride(IObjectStreamFactory.java:121)
    … 57 more

  • wyz

    Hi,

    I have been using JRebel since 2.1a for Wicket development with embedded Jetty 6 and it worked like a charm.

    But after I have changed the jar file to JRebel to 2.2 I am started having errors when I change some code on-the-fly.

    The exception reads:
    Root cause:

    com.zeroturnaround.javarebel.dj
    at com.zeroturnaround.javarebel.fR.(JRebel:41)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:169)
    at com.zeroturnaround.javarebel.cc.a(JRebel:37)
    at com.zeroturnaround.javarebel.cc.a(JRebel:70)
    at com.zeroturnaround.javarebel.dw.a(Unknown Source)
    at com.zeroturnaround.javarebel.dw.a(Unknown Source)
    at com.zeroturnaround.javarebel.java5.AgentInstall.a(JRebel:96)
    at com.zeroturnaround.javarebel.java5.AgentInstall.a(JRebel:68)
    at com.zeroturnaround.javarebel.java5.AgentInstall.premain(JRebel:41)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at sun.instrument.InstrumentationImpl.loadClassAndStartAgent(InstrumentationImpl.java:323)
    at sun.instrument.InstrumentationImpl.loadClassAndCallPremain(InstrumentationImpl.java:338)

    I also see error message in the console:
    Caused by: java.io.NotSerializableException: com.zeroturnaround.javarebel.I
    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1156)
    at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509)
    at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474)
    at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
    at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1338)
    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146)
    at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509)
    at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474)
    at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
    at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1338)
    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1146)
    at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509)
    at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474)
    at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
    at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
    at org.apache.wicket.util.io.IObjectStreamFactory$DefaultObjectStreamFactory$2.writeObjectOverride(IObjectStreamFactory.java:121)
    … 57 more

  • wyz

    Btw, I am unable to locate JRebel 2.1.1 in the Archived Releases, the latest is 2.1a

  • wyz

    Btw, I am unable to locate JRebel 2.1.1 in the Archived Releases, the latest is 2.1a

  • http://www.zeroturnaround.com/ Toomas Römer

    @wyz
    Archive page updated.

  • http://www.zeroturnaround.com Toomas Römer

    @wyz
    Archive page updated.

  • john

    who’s dep weblogic8.0 the jrebel2.1.1?

  • http://no john

    who’s dep weblogic8.0 the jrebel2.1.1?

Join the Rebellion Facebook Twitter RSS feed