Running servers from command line

JRebel comes bundled with 64 and 32 bit libraries for JVMs, intended for use with Windows, macOS and Linux. The agent libraries can be found in the lib folder.

Windows 64-bit JDK

jrebel64.dll

Windows 32-bit JDK

jrebel32.dll

Mac OS X 64-bit JDK

libjrebel64.dylib

Linux 64-bit JDK

libjrebel64.so

Linux 32-bit JDK

libjrebel32.so

Add the correct agent library to your server startup script using -agentpath:. Keep reading for specific application server instructions.

Tip

Using a JRebel IDE plugin? You have access to all these snippets from Help > JRebel > Configuration > Startup.


Cargo Maven plugin

Windows 64-bit

  1. Use the cargo.start.jvmargs JVM system property to add the following option:

mvn cargo:run -Dcargo.start.jvmargs="-agentpath:c:\path\to]\lib\jrebel64.dll"

Windows 32-bit

  1. Use the cargo.start.jvmargs JVM system property to add the following option:

mvn cargo:run -Dcargo.start.jvmargs="-agentpath:c:\path\to]\lib\jrebel32.dll"

macOS 64-bit

  1. Use the cargo.start.jvmargs JVM system property to add the following option:

mvn cargo:run -Dcargo.start.jvmargs="-agentpath:/path/to/lib/libjrebel64.dylib"

Linux 64-bit

  1. Use the cargo.start.jvmargs JVM system property to add the following option:

mvn cargo:run -Dcargo.start.jvmargs="-agentpath:/path/to/lib/libjrebel64.so"

Linux 32-bit

  1. Use the cargo.start.jvmargs JVM system property to add the following option:

mvn cargo:run -Dcargo.start.jvmargs="-agentpath:/path/to/lib/libjrebel32.so"

GlassFish 4.x and 5.x

  1. Open the GlassFish Administration Console.

  2. Access Configuration > JVM Settings > JVM Options.

  3. Use the Add JVM Option button to insert the following:

    Windows 64-bit JDK

    -agentpath:[c:\path\to]\lib\jrebel64.dll

    Windows 32-bit JDK

    -agentpath:[c:\path\to]\lib\jrebel32.dll

    Mac OS X 64-bit JDK

    -agentpath:[path/to]/lib/libjrebel64.dylib

    Linux 64-bit JDK

    -agentpath:[path/to]/lib/libjrebel64.so

    Linux 32-bit JDK

    -agentpath:[path/to]/lib/libjrebel32.so

  4. Click Save and restart the server.


Gradle Java plugins

Windows 64-bit

  1. For the Gradle Application plugin, use run tasks’s jvmArgs property to add the following JVM option:

taskName.jvmArgs += '-agentpath:c:\path\to]\lib\jrebel64.dll'
  1. In general, JRebel JVM arguments must be added to Gradle tasks of type ‘JavaExec’. Use the following JVM options in your project build.gradle file:

gradle.taskGraph.whenReady { taskGraph ->
    taskGraph.allTasks.each { task ->
        if (task instanceof org.gradle.api.tasks.JavaExec) {
            task.jvmArgs += '-agentpath:c:\path\to]\lib\jrebel64.dll'
        }
    }
}
  1. In some cases, for example, Spring Boot 3, certain tasks may need to be excluded. Use the following JVM options in your project build.gradle file:

gradle.taskGraph.whenReady { taskGraph ->
    taskGraph.allTasks.each { task ->
        if (task instanceof org.gradle.api.tasks.JavaExec && !["processAot"].contains(task.name)) {
            task.jvmArgs += '-agentpath:c:\path\to]\lib\jrebel64.dll'
        }
    }
}

Windows 32-bit

  1. For the Gradle Application plugin, use run tasks’s jvmArgs property to add following JVM option:

taskName.jvmArgs += '-agentpath:c:\path\to]\lib\jrebel32.dll'
  1. In general, JRebel JVM arguments must be added to Gradle tasks of type ‘JavaExec’. Use the following JVM options in your project build.gradle file:

gradle.taskGraph.whenReady { taskGraph ->
    taskGraph.allTasks.each { task ->
        if (task instanceof org.gradle.api.tasks.JavaExec) {
            task.jvmArgs += '-agentpath:c:\path\to]\lib\jrebel32.dll'
        }
    }
}
  1. In some cases, for example, Spring Boot 3, certain tasks may need to be excluded. Use the following JVM options in your project build.gradle file:

gradle.taskGraph.whenReady { taskGraph ->
    taskGraph.allTasks.each { task ->
        if (task instanceof org.gradle.api.tasks.JavaExec && !["processAot"].contains(task.name)) {
            task.jvmArgs += '-agentpath:c:\path\to]\lib\jrebel32.dll'
        }
    }
}

macOS 64-bit

  1. For the Gradle Application plugin, use run tasks’s jvmArgs property to add following JVM option:

taskName.jvmArgs += '-agentpath:/path/to/lib/libjrebel64.dylib'
  1. In general, JRebel JVM arguments must be added to Gradle tasks of type ‘JavaExec’. Use the following JVM options in your project build.gradle file:

gradle.taskGraph.whenReady { taskGraph ->
    taskGraph.allTasks.each { task ->
        if (task instanceof org.gradle.api.tasks.JavaExec) {
            task.jvmArgs += '-agentpath:/path/to/lib/libjrebel64.dylib'
        }
    }
}
  1. In some cases, for example, Spring Boot 3, certain tasks may need to be excluded. Use the following JVM options in your project build.gradle file:

gradle.taskGraph.whenReady { taskGraph ->
    taskGraph.allTasks.each { task ->
        if (task instanceof org.gradle.api.tasks.JavaExec && !["processAot"].contains(task.name)) {
            task.jvmArgs += '-agentpath:/path/to/lib/libjrebel64.dylib'
        }
    }
}

Linux 64-bit

  1. For the Gradle Application plugin, use run tasks’s jvmArgs property to add following JVM option:

taskName.jvmArgs += '-agentpath:/path/to/lib/libjrebel64.so'
  1. In general, JRebel JVM arguments must be added to Gradle tasks of type ‘JavaExec’. Use the following JVM options in your project build.gradle file:

gradle.taskGraph.whenReady { taskGraph ->
    taskGraph.allTasks.each { task ->
        if (task instanceof org.gradle.api.tasks.JavaExec) {
            task.jvmArgs += '-agentpath:/path/to/lib/libjrebel64.so'
        }
    }
}
  1. In some cases, for example, Spring Boot 3, certain tasks may need to be excluded. Use the following JVM options in your project build.gradle file:

gradle.taskGraph.whenReady { taskGraph ->
    taskGraph.allTasks.each { task ->
        if (task instanceof org.gradle.api.tasks.JavaExec && !["processAot"].contains(task.name)) {
            task.jvmArgs += '-agentpath:/path/to/lib/libjrebel64.so'
        }
    }
}

Linux 32-bit

  1. For the Gradle Application plugin, use run tasks’s jvmArgs property to add following JVM option:

taskName.jvmArgs += '-agentpath:/path/to/lib/libjrebel32.so'
  1. In general, JRebel JVM arguments must be added to Gradle tasks of type ‘JavaExec’. Use the following JVM options in your project build.gradle file:

gradle.taskGraph.whenReady { taskGraph ->
    taskGraph.allTasks.each { task ->
        if (task instanceof org.gradle.api.tasks.JavaExec) {
            task.jvmArgs += '-agentpath:/path/to/lib/libjrebel32.so'
        }
    }
}
  1. In some cases, for example, Spring Boot 3, certain tasks may need to be excluded. Use the following JVM options in your project build.gradle file:

gradle.taskGraph.whenReady { taskGraph ->
    taskGraph.allTasks.each { task ->
        if (task instanceof org.gradle.api.tasks.JavaExec && !["processAot"].contains(task.name)) {
            task.jvmArgs += '-agentpath:/path/to/lib/libjrebel32.so'
        }
    }
}

JBoss EAP

Windows 64-bit

  1. Open %JBOSS_HOME%\bin.

  2. Create the file standalone-jrebel.cmd with the following content:

@echo off
set REBEL_HOME=JRebel root folder.
set JAVA_OPTS=-agentpath:%REBEL_HOME%\lib\jrebel64.dll %JAVA_OPTS%
call "%~dp0\standalone.bat" %*
  1. Use this file instead of standalone.bat to run JBoss with JRebel.

    Warning

    Any further customization to JAVA_OPTS inside the JBoss executable (default standalone.conf.bat) needs to be included in standalone-jrebel.cmd for JRebel to function correctly.


Windows 32-bit

  1. Open %JBOSS_HOME%\bin.

  2. Create the file standalone-jrebel.cmd with the following content:

@echo off
set REBEL_HOME=JRebel root folder.
set JAVA_OPTS=-agentpath:%REBEL_HOME%\lib\jrebel32.dll %JAVA_OPTS%
call "%~dp0\standalone.bat" %*
  1. Use this file instead of standalone.bat to run JBoss with JRebel.

    Warning

    Any further customization to JAVA_OPTS inside the JBoss executable (default standalone.conf.bat) needs to be included in standalone-jrebel.cmd for JRebel to function correctly.


macOS 64-bit

  1. Open $JBOSS_HOME/bin.

  2. Create the file standalone-jrebel.sh with the following content:

#!/bin/bash
export REBEL_HOME=JRebel root folder.
export JAVA_OPTS="-agentpath:$REBEL_HOME/lib/libjrebel64.dylib $JAVA_OPTS"
`dirname $0`/standalone.sh $@
  1. Use this script instead of standalone.sh to run JBoss with JRebel.

    Warning

    Any further customization to JAVA_OPTS inside the JBoss executable (default standalone.conf.sh) needs to be included in standalone-jrebel.sh for JRebel to function correctly.


Linux 64-bit

  1. Open $JBOSS_HOME/bin.

  2. Create the file standalone-jrebel.sh with the following content:

#!/bin/bash
export REBEL_HOME=JRebel root folder.
export JAVA_OPTS="-agentpath:$REBEL_HOME/lib/libjrebel64.so $JAVA_OPTS"
`dirname $0`/standalone.sh $@
  1. Use this script instead of standalone.sh to run JBoss with JRebel.

    Warning

    Any further customization to JAVA_OPTS inside the JBoss executable (default standalone.conf.sh) needs to be included in standalone-jrebel.sh for JRebel to function correctly.


Linux 32-bit

  1. Open $JBOSS_HOME/bin.

  2. Create the file standalone-jrebel.sh with the following content:

#!/bin/bash
export REBEL_HOME=JRebel root folder.
export JAVA_OPTS="-agentpath:$REBEL_HOME/lib/libjrebel32.so $JAVA_OPTS"
`dirname $0`/standalone.sh $@
  1. Use this script instead of standalone.sh to run JBoss with JRebel.

    Warning

    Any further customization to JAVA_OPTS inside the JBoss executable (default standalone.conf.sh) needs to be included in standalone-jrebel.sh for JRebel to function correctly.


Jetty 9.x

Windows 64-bit

Jetty does not provide startup scripts for Windows. Add the following to the command line:

-agentpath:[c:\path\to\]lib\jrebel64.dll

Windows 32-bit

Jetty does not provide startup scripts for Windows. Add the following to the command line:

-agentpath:[c:\path\to\]lib\jrebel32.dll

macOS 64-bit

  1. Open $JETTY_HOME/bin.

  2. Create the file run-jrebel.sh with the following content:

#!/bin/bash
export REBEL_HOME=JRebel root folder.
export JAVA_OPTIONS="-agentpath:$REBEL_HOME/lib/libjrebel64.dylib $JAVA_OPTIONS"
`dirname $0`/jetty.sh $@
  1. Use this script instead of jetty.sh to run Jetty with JRebel.


Linux 64-bit

  1. Open $JETTY_HOME/bin.

  2. Create the file run-jrebel.sh with the following content:

#!/bin/bash
export REBEL_HOME=JRebel root folder.
export JAVA_OPTIONS="-agentpath:$REBEL_HOME/lib/libjrebel64.so $JAVA_OPTIONS"
`dirname $0`/jetty.sh $@
  1. Use this script instead of jetty.sh to run Jetty with JRebel.


Linux 32-bit

  1. Open $JETTY_HOME/bin.

  2. Create the file run-jrebel.sh with the following content:

#!/bin/bash
export REBEL_HOME=JRebel root folder.
export JAVA_OPTIONS="-agentpath:$REBEL_HOME/lib/libjrebel32.so $JAVA_OPTIONS"
`dirname $0`/jetty.sh $@
  1. Use this script instead of jetty.sh to run Jetty with JRebel.


Maven Jetty plugin (mvn jetty:run)

To disable Jetty’s internal reloading, open the pom.xml file and set the scanIntervalSeconds parameter to 0. The updated pom.xml file should look like this:

<plugin>
 <groupId>org.eclipse.jetty</groupId>
 <artifactId>jetty-maven-plugin</artifactId>
 <configuration>
   <scanIntervalSeconds>0</scanIntervalSeconds>
 </configuration>
</plugin>

Windows 64-bit

Add the following to the MAVEN_OPTS environment variable:

-agentpath:[c:\path\to\]lib\jrebel64.dll

To complete this task in the console, follow these steps:

set MAVEN_OPTS=-agentpath:[c:\path\to\]lib\jrebel64.dll %MAVEN_OPTS%
mvn jetty:run

Windows 32-bit

Add the following to the MAVEN_OPTS environment variable:

-agentpath:[c:\path\to\]lib\jrebel32.dll

To complete this task in the console, follow these steps:

set MAVEN_OPTS=-agentpath:[c:\path\to\]lib\jrebel32.dll %MAVEN_OPTS%
mvn jetty:run

macOS 64-bit

Add the following to the MAVEN_OPTS environment variable:

-agentpath:[/path/to/]lib/libjrebel64.dylib

To complete this task in the console, follow these steps:

export MAVEN_OPTS="-agentpath:[/path/to/]lib/libjrebel64.dylib $MAVEN_OPTS"
mvn jetty:run

Linux 64-bit

Add the following to the MAVEN_OPTS environment variable:

-agentpath:[/path/to/]lib/libjrebel64.so

To complete this task in the console, follow these steps:

export MAVEN_OPTS="-agentpath:[/path/to/]lib/libjrebel64.so $MAVEN_OPTS"
mvn jetty:run

Linux 32-bit

Add the following to the MAVEN_OPTS environment variable:

-agentpath:[/path/to/]lib/libjrebel32.so

To complete this task in the console, follow these steps:

export MAVEN_OPTS="-agentpath:[/path/to/]lib/libjrebel32.so $MAVEN_OPTS"
mvn jetty:run

Payara 4.x and 5.x

  1. Open the Payara Administration Console.

  2. Access Configuration > JVM Settings > JVM Options.

  3. Use the Add JVM Option to insert the following:

    Windows 64-bit JDK

    -agentpath:[c:\path\to]\lib\jrebel64.dll

    Windows 32-bit JDK

    -agentpath:[c:\path\to]\lib\jrebel32.dll

    Mac OS X 64-bit JDK

    -agentpath:[path/to]/lib/libjrebel64.dylib

    Linux 64-bit JDK

    -agentpath:[path/to]/lib/libjrebel64.so

    Linux 32-bit JDK

    -agentpath:[path/to]/lib/libjrebel32.so

  4. Press Save. Restart the server.


Resin 4.x

Windows 64-bit

Start Resin with JRebel from %RESIN_HOME% with the parameter:

java -agentpath:[c:\path\to\]lib\jrebel64.dll -jar lib\resin.jar

Windows 32-bit

Start Resin with JRebel from %RESIN_HOME% with the parameter:

java -agentpath:[c:\path\to\]lib\jrebel32.dll -jar lib\resin.jar

macOS 64-bit

Replace the last line of ${RESIN_HOME}/bin/httpd.sh (or resin.sh in Resin 3.2+) with the following:

java -agentpath:[/path/to/]lib/libjrebel64.dylib -jar ${RESIN_HOME}/lib/resin.jar $*

Linux 64-bit

Replace the last line of ${RESIN_HOME}/bin/httpd.sh (or resin.sh in Resin 3.2+) with the following:

java -agentpath:[/path/to/]lib/libjrebel64.so -jar ${RESIN_HOME}/lib/resin.jar $*

Linux 32-bit

Replace the last line of ${RESIN_HOME}/bin/httpd.sh (or resin.sh in Resin 3.2+) with the following:

java -agentpath:[/path/to/]lib/libjrebel32.so -jar ${RESIN_HOME}/lib/resin.jar $*

Spring Boot 2.x and 3.x

Add the JRebel startup parameter to the Spring Boot startup based on the environment. Replace the JRebel library based on the desired architecture and operating system as follows:

Windows 64-bit JDK

jrebel64.dll

Windows 32-bit JDK

jrebel32.dll

Mac OS X 64-bit JDK

libjrebel64.dylib

Linux 64-bit JDK

libjrebel64.so

Linux 32-bit JDK

libjrebel32.so

For using Spring Boot with Maven or Gradle, see JRebel with Spring Boot¶.


Spring Boot using the command line

Add the JRebel parameter to Spring Boot startup (replacing JRebel library as necessary):

java -agentpath:[path/to/JRebel library] -jar myapp-boot.jar

tc Server 4.x

Windows 64-bit

  1. Open %SPRING_TC_HOME%. Select the Tomcat instance (%CATALINA_BASE%) you would like to run.

  2. Open %CATALINA_BASE%\conf\wrapper.conf.

  3. In the Java Additional Parameters section, add the additional wrapper.java.additional.* properties:

wrapper.java.additional.10=-agentpath:[c:\path\to\]lib\jrebel64.dll
  1. Use the %SPRING_TC_HOME%\tcruntime-ctl.bat script to start Tomcat instances as usual.


Windows 32-bit

  1. Open %SPRING_TC_HOME%. Select the Tomcat instance (%CATALINA_BASE%) you would like to run.

  2. Open %CATALINA_BASE%\conf\wrapper.conf.

  3. In the Java Additional Parameters section, add the additional wrapper.java.additional.* properties:

wrapper.java.additional.10=-agentpath:[c:\path\to\]lib\jrebel32.dll
  1. Use the %SPRING_TC_HOME%\tcruntime-ctl.bat script to start Tomcat instances as usual.


macOS 64-bit

  1. Create your server instance to a folder of your choice. For example $INSTANCE_DIR.

  2. Open script $INSTANCE_DIR/bin/setenv.sh.

  3. Add the following as the last line of setenv.sh:

REBEL_HOME=JRebel root folder.
JAVA_OPTS="-agentpath:$REBEL_HOME/lib/libjrebel64.dylib $JAVA_OPTS"
  1. Use the $SPRING_TC_HOME/tcruntime-ctl.sh script to start Tomcat instances as usual.


Linux 64-bit

  1. Create your server instance to a folder of your choice. For example $INSTANCE_DIR.

  2. Open script $INSTANCE_DIR/bin/setenv.sh.

  3. Add the following as the last line of setenv.sh:

REBEL_HOME=JRebel root folder.
JAVA_OPTS="-agentpath:$REBEL_HOME/lib/libjrebel64.so $JAVA_OPTS"
  1. Use the $SPRING_TC_HOME/tcruntime-ctl.sh script to start Tomcat instances as usual.


Linux 32-bit

  1. Create your server instance to a folder of your choice. For example $INSTANCE_DIR.

  2. Open script $INSTANCE_DIR/bin/setenv.sh.

  3. Add the following as the last line of setenv.sh:

REBEL_HOME=JRebel root folder.
JAVA_OPTS="-agentpath:$REBEL_HOME/lib/libjrebel32.so $JAVA_OPTS"
  1. Use the $SPRING_TC_HOME/tcruntime-ctl.sh script to start Tomcat instances as usual.


Tomcat 7.x, 8.x and 9.x

Note

The Tomcat 7.x, 8.x, 9.x and 10.x configuration instructions also apply to:

  • TomEE Web/Plus/PluME 1.7.x and 7.x and newer

  • Liferay for Tomcat 7.x and newer


Windows 64-bit

  1. Open %TOMCAT_HOME%\bin.

  2. Create the file catalina-jrebel.bat with the following content:

@echo off
set REBEL_HOME=JRebel root folder.
set JAVA_OPTS=-agentpath:%REBEL_HOME%\lib\jrebel64.dll %JAVA_OPTS%
call "%~dp0\catalina.bat" %*
  1. Use catalina-jrebel.bat to run Tomcat with JRebel.

catalina-jrebel.bat run

When running Tomcat as a service, open tomcatXw.exe wrapper (or double click the Tomcat icon in the system tray). Insert the following line in Java > Java Options:

-agentpath:[c:\path\to\]lib\jrebel64.dll

Windows 32-bit

  1. Open %TOMCAT_HOME%\bin.

  2. Create the file catalina-jrebel.bat with the following content:

@echo off
set REBEL_HOME=JRebel root folder.
set JAVA_OPTS=-agentpath:%REBEL_HOME%\lib\jrebel32.dll %JAVA_OPTS%
call "%~dp0\catalina.bat" %*
  1. Use catalina-jrebel.bat to run Tomcat with JRebel.

catalina-jrebel.bat run

When running Tomcat as a service, open tomcatXw.exe wrapper (or double click the Tomcat icon in the system tray). Insert the following line in Java > Java Options:

-agentpath:[c:\path\to\]lib\jrebel32.dll

macOS 64-bit

  1. Open $TOMCAT_HOME/bin.

  2. Create the file catalina-jrebel.sh with the following content:

#!/bin/bash
export REBEL_HOME=JRebel root folder.
export JAVA_OPTS="-agentpath:$REBEL_HOME/lib/libjrebel64.dylib $JAVA_OPTS"
`dirname $0`/catalina.sh $@
  1. Use catalina-jrebel.sh to run Tomcat with JRebel.

./catalina-jrebel.sh run

Linux 64-bit

  1. Open $TOMCAT_HOME/bin.

  2. Create the file catalina-jrebel.sh with the following content:

#!/bin/bash
export REBEL_HOME=JRebel root folder.
export JAVA_OPTS="-agentpath:$REBEL_HOME/lib/libjrebel64.so $JAVA_OPTS"
`dirname $0`/catalina.sh $@
  1. Use catalina-jrebel.sh to run Tomcat with JRebel.

./catalina-jrebel.sh run

Linux 32-bit

  1. Open $TOMCAT_HOME/bin.

  2. Create the file catalina-jrebel.sh with the following content:

#!/bin/bash
export REBEL_HOME=JRebel root folder.
export JAVA_OPTS="-agentpath:$REBEL_HOME/lib/libjrebel32.so $JAVA_OPTS"
`dirname $0`/catalina.sh $@
  1. Use catalina-jrebel.sh to run Tomcat with JRebel.

./catalina-jrebel.sh run

WebLogic 12.x

Windows 64-bit

  1. Open %DOMAIN_HOME%\bin.

  2. Create the file startWeblogic-jrebel.cmd with the following content:

@echo off
set REBEL_HOME=JRebel root folder.
set JAVA_OPTIONS=-agentpath:%REBEL_HOME%\lib\jrebel64.dll %JAVA_OPTIONS%
call "%~dp0\startWebLogic.cmd" %*
  1. Use this file instead of startWeblogic.cmd to run WebLogic with JRebel.

    Warning

    It is highly recommended to avoid using class caching (CLASS_CACHE=true). In some cases this may prevent classes and resources from being reloaded.


Windows 32-bit

  1. Open %DOMAIN_HOME%\bin.

  2. Create the file startWeblogic-jrebel.cmd with the following content:

@echo off
set REBEL_HOME=JRebel root folder.
set JAVA_OPTIONS=-agentpath:%REBEL_HOME%\lib\jrebel32.dll %JAVA_OPTIONS%
call "%~dp0\startWebLogic.cmd" %*
  1. Use this file instead of startWeblogic.cmd to run WebLogic with JRebel.

    Warning

    It is highly recommended to avoid using class caching (CLASS_CACHE=true). In some cases this may prevent classes and resources from being reloaded.


macOS 64-bit

  1. Open $DOMAIN_HOME/bin.

  2. Create the file startWeblogic-jrebel.sh with the following content:

#!/bin/bash
export REBEL_HOME=JRebel root folder.
export JAVA_OPTIONS="-agentpath:$REBEL_HOME/lib/libjrebel64.dylib $JAVA_OPTIONS"
`dirname $0`/startWebLogic.sh $@
  1. Use this script instead of startWeblogic.sh to run WebLogic with JRebel.

    Warning

    It is highly recommended to avoid using class caching (CLASS_CACHE=true). In some cases this may prevent classes and resources from being reloaded.


Linux 64-bit

  1. Open $DOMAIN_HOME/bin.

  2. Create the file startWeblogic-jrebel.sh with the following content:

#!/bin/bash
export REBEL_HOME=JRebel root folder.
export JAVA_OPTIONS="-agentpath:$REBEL_HOME/lib/libjrebel64.so $JAVA_OPTIONS"
`dirname $0`/startWebLogic.sh $@
  1. Use this script instead of startWeblogic.sh to run WebLogic with JRebel.

    Warning

    It is highly recommended to avoid using class caching (CLASS_CACHE=true). In some cases this may prevent classes and resources from being reloaded.


Linux 32-bit

  1. Open $DOMAIN_HOME/bin.

  2. Create the file startWeblogic-jrebel.sh with the following content:

#!/bin/bash
export REBEL_HOME=JRebel root folder.
export JAVA_OPTIONS="-agentpath:$REBEL_HOME/lib/libjrebel32.so $JAVA_OPTIONS"
`dirname $0`/startWebLogic.sh $@
  1. Use this script instead of startWeblogic.sh to run WebLogic with JRebel.

    Warning

    It is highly recommended to avoid using class caching (CLASS_CACHE=true). In some cases this may prevent classes and resources from being reloaded.


WebSphere 8.x and 9.x

Windows 64-bit

Make sure that the JRebel installation path does not contain spaces.

  1. Start the IBM WebSphere server and open the administrative console.

  2. Under the Administration Console, open Servers > Application servers. Select the server your application is deployed to.

  3. Select Java and Process Management > Process Definition.

  4. Select Java Virtual Machine.

  5. Insert the following line into Generic JVM arguments for WebSphere 8.x or later running on IBM JDK 6 or newer:

-Xshareclasses:none -agentpath:[c:\path\to\]lib\jrebel64.dll
  1. Click OK. Save the master configuration and restart the server.

Note

An alternative to setting the Generic JVM arguments is to generate a simple text file with extra configuration. You can have WebSphere take advantage of this text file by using the parameter Xoptionsfile=[c:\path\to\]youroptions.txt.


Windows 32-bit

Make sure that the JRebel installation path does not contain spaces.

  1. Start the IBM WebSphere server and open the administrative console.

  2. Under the Administration Console, open Servers > Application servers. Select the server your application is deployed to.

  3. Select Java and Process Management > Process Definition.

  4. Select Java Virtual Machine.

  5. Insert the following line into Generic JVM arguments for WebSphere 8.x or later running on IBM JDK 6 or newer:

-Xshareclasses:none -agentpath:[c:\path\to\]lib\jrebel32.dll
  1. Click OK. Save the master configuration and restart the server.

Note

An alternative to setting the Generic JVM arguments is to generate a simple text file with extra configuration. You can have WebSphere take advantage of this text file by using the parameter Xoptionsfile=[c:\path\to\]youroptions.txt.


macOS 64-bit

  1. Start the IBM WebSphere server and open the administrative console.

  2. Under the Administration Console, open Servers > Application Servers. Select the server your application is deployed to.

  3. Select Java and Process Management > Process Definition.

  4. Select Java Virtual Machine.

  5. Insert the following line into Generic JVM arguments for WebSphere 8.x or later running on IBM JDK 6 or later:

    -Xshareclasses:none -agentpath:[/path/to/]lib/libjrebel64.dylib
    
  6. Click OK. Save the master configuration and restart the server.


Linux 64-bit

  1. Start the IBM WebSphere server and open the administrative console.

  2. Under the Administration Console, open Servers > Application Servers. Select the server your application is deployed to.

  3. Select Java and Process Management > Process Definition.

  4. Select Java Virtual Machine.

  5. Insert the following line into Generic JVM arguments for WebSphere 8.x or later running on IBM JDK 6 or later:

    -Xshareclasses:none -agentpath:[/path/to/]lib/libjrebel64.so
    
  6. Click OK. Save the master configuration and restart the server.


Linux 32-bit

  1. Start the IBM WebSphere server and open the administrative console.

  2. Under the Administration Console, open Servers > Application Servers. Select the server your application is deployed to.

  3. Select Java and Process Management > Process Definition.

  4. Select Java Virtual Machine.

  5. Insert the following line into Generic JVM arguments for WebSphere 8.x or later running on IBM JDK 6 or later:

    -Xshareclasses:none -agentpath:[/path/to/]lib/libjrebel32.so
    
  6. Click OK. Save the master configuration and restart the server.


WebSphere Liberty Profile

Windows 64-bit

  1. Create the file jvm.options in your IBM WebSphere Liberty Profile ${server.config.dir}/ folder.

  2. Add the following content to the jvm.options file:

-agentpath:[c:\path\to\]lib\jrebel64.dll
  1. Save the file and restart the server.

    Tip

    Create the jvm.options file in the ${wlp.install.dir}/etc/ folder to automatically apply the JVM options to all your WebShpere Liberty Profile instances.


Windows 32-bit

  1. Create the file jvm.options in your IBM WebSphere Liberty Profile ${server.config.dir}/ folder.

  2. Add the following content to the jvm.options file:

-agentpath:[c:\path\to\]lib\jrebel32.dll
  1. Save the file and restart the server.

    Tip

    Create the jvm.options file in the ${wlp.install.dir}/etc/ folder to automatically apply the JVM options to all your WebShpere Liberty Profile instances.


macOS 64-bit

  1. Create the file jvm.options in your IBM WebSphere Liberty Profile ${server.config.dir}/ folder.

  2. Add the following content to the jvm.options file:

-agentpath:[/path/to/]lib/libjrebel64.dylib
  1. Save the file and restart the server.

    Tip

    Create the jvm.options file in the ${wlp.install.dir}/etc/ folder to automatically apply the JVM options to all your WebShpere Liberty Profile instances.


Linux 64-bit

  1. Create the file jvm.options in your IBM WebSphere Liberty Profile ${server.config.dir}/ folder.

  2. Add the following content to the jvm.options file:

-agentpath:[/path/to/]lib/libjrebel64.so
  1. Save the file and restart the server.

    Tip

    Create the jvm.options file in the ${wlp.install.dir}/etc/ folder to automatically apply the JVM options to all your WebShpere Liberty Profile instances.


Linux 32-bit

  1. Create the file jvm.options in your IBM WebSphere Liberty Profile ${server.config.dir}/ folder.

  2. Add the following content to the jvm.options file:

-agentpath:[/path/to/]lib/libjrebel32.so
  1. Save the file and restart the server.

    Tip

    Create the jvm.options file in the ${wlp.install.dir}/etc/ folder to automatically apply the JVM options to all your WebShpere Liberty Profile instances.


WildFly 8.x, 9.x and 10.x

Windows 64-bit

  1. Open %WILDFLY_HOME%\bin.

  2. Create the file standalone-jrebel.cmd with the following content:

@echo off
set REBEL_HOME=JRebel root folder.
set JAVA_OPTS=-agentpath:%REBEL_HOME%\lib\jrebel64.dll %JAVA_OPTS%
call "%~dp0\standalone.bat" %*
  1. Use this file instead of standalone.bat to run WildFly with JRebel.

    Warning

    Any further customization to JAVA_OPTS inside the WildFly executable (default standalone.conf.bat) needs to be included in run-jrebel.cmd for JRebel to function correctly.


Windows 32-bit

  1. Open %WILDFLY_HOME%\bin.

  2. Create the file standalone-jrebel.cmd with the following content:

@echo off
set REBEL_HOME=JRebel root folder.
set JAVA_OPTS=-agentpath:%REBEL_HOME%\lib\jrebel32.dll %JAVA_OPTS%
call "%~dp0\standalone.bat" %*
  1. Use this file instead of standalone.bat to run WildFly with JRebel.

    Warning

    Any further customization to JAVA_OPTS inside the WildFly executable (default standalone.conf.bat) needs to be included in run-jrebel.cmd for JRebel to function correctly.


macOS 64-bit

  1. Open $WILDFLY_HOME/bin.

  2. Create the file standalone-jrebel.sh with the following content:

#!/bin/bash
export REBEL_HOME=JRebel root folder.
export JAVA_OPTS="-agentpath:$REBEL_HOME/lib/libjrebel64.dylib $JAVA_OPTS"
`dirname $0`/standalone.sh $@
  1. Use this script instead of standalone.sh to run WildFly with JRebel.

    Warning

    Any further customization to JAVA_OPTS inside the WildFly executable (default standalone.conf.sh) needs to be included in standalone-jrebel.sh for JRebel to function correctly.


Linux 64-bit

  1. Open $WILDFLY_HOME/bin.

  2. Create the file standalone-jrebel.sh with the following content:

#!/bin/bash
export REBEL_HOME=JRebel root folder.
export JAVA_OPTS="-agentpath:$REBEL_HOME/lib/libjrebel64.so $JAVA_OPTS"
`dirname $0`/standalone.sh $@
  1. Use this script instead of standalone.sh to run WildFly with JRebel.

    Warning

    Any further customization to JAVA_OPTS inside the WildFly executable (default standalone.conf.sh) needs to be included in standalone-jrebel.sh for JRebel to function correctly.


Linux 32-bit

  1. Open $WILDFLY_HOME/bin.

  2. Create the file standalone-jrebel.sh with the following content:

#!/bin/bash
export REBEL_HOME=JRebel root folder.
export JAVA_OPTS="-agentpath:$REBEL_HOME/lib/libjrebel32.so $JAVA_OPTS"
`dirname $0`/standalone.sh $@
  1. Use this script instead of standalone.sh to run WildFly with JRebel.

    Warning

    Any further customization to JAVA_OPTS inside the WildFly executable (default standalone.conf.sh) needs to be included in standalone-jrebel.sh for JRebel to function correctly.