JRebel installs a -javaagent that monitors the classes and resources in the workspace and propagates their changes to the running application. The following types of changes are supported:
The installation instructions are specific to your environment. Please select your environment and press "Show instructions" to see or update the installation instructions.
You're in luck! We have specific instructions made just for you:
pom.xml(s) using these instructions.
When configuring the IDE there'll be no need to create a rebel.xml configuration file, as Maven plugin will do it automatically.rebel.xml configuration file in your application as described here.
Note that if you're deploying your project directory directly to the application container there should be no need to create a rebel.xml configureation file as JRebel can pick up the changes from your workspace.That's it! Enjoy! If you still have some questions you can take a look here:
Just run as usual adding the integration string:
java -noverify -javaagent:jrebel.jar MAIN_CLASS ARGS
While developing IntelliJ IDEA or Eclipse plugins start the respected testing IDE instance with the integration string.
File: %DOMAIN_HOME%\bin\startWeblogic.cmd.
Add the following line in the beginning of the file:
set JAVA_OPTIONS=-noverify -javaagent:jrebel.jar %JAVA_OPTIONS%
File: $DOMAIN_HOME\bin\startWeblogic.sh.
Add the following line in the beginning of the file:
JAVA_OPTIONS="-noverify -javaagent:jrebel.jar $JAVA_OPTIONS"
File: %ORACLE10_HOME%\bin\oc4j.cmd
Add the following line:
set JVMARGS=-noverify -javaagent:jrebel.jar %JVMARGS%
File: $ORACLE10_HOME/bin/oc4j
Add the following line:
JVMARGS="-noverify -javaagent:jrebel.jar $JVMARGS"
Generate the jrebel-bootstrap.jar by running java
-jar jrebel.jar using the JVM you will run the application server
with (you can also add this line to the startServer.bat
after the environment is set).
Edit the file server.xml found in the server
profile. Modify the tag jvmEntries and add the attribute genericJvmArguments
with the value -noverify -Xshareclasses:none -Xbootclasspath/p:/path/to/jrebel-bootstrap.jar;/path/to/jrebel.jar
Note that as WebSphere does not support exploded development mode.
Generate the jrebel-bootstrap.jar by running java
-jar jrebel.jar using the JVM you will run the application server
with (you can also add this line to the startServer.sh
after the environment is set).
Edit the file server.xml found in the server
profile. Modify the tag jvmEntries and add the attribute genericJvmArguments
with the value -noverify -Xshareclasses:none -Xbootclasspath/p:/path/to/jrebel-bootstrap.jar:/path/to/jrebel.jar
Note that as WebSphere does not support exploded development mode.
Go to folder %ORACLE9_HOME%\j2ee\home and start the
server with the following command:
java -noverify -javaagent:jrebel.jar -jar oc4j.jar
Go to folder $ORACLE9_HOME/j2ee/home and start the
server with the following command:
java -noverify -javaagent:jrebel.jar -jar oc4j.jar
File: %JBOSS_HOME%\bin\run.bat
Add the following line:
set JAVA_OPTS=-noverify -javaagent:jrebel.jar %JAVA_OPTS%
File: $JBOSS_HOME/bin/run.sh
Add the following line:
JAVA_OPTS="-noverify -javaagent:jrebel.jar $JAVA_OPTS"
File: %DOMAIN_HOME%\config\domain.xml
Search for jvm-options element and add the elements
-Xverify:none and -javaagent:jrebel.jar Start
the domain as usual.
pom.xml
file and set the scanIntervalSeconds param to 0, this will
turn off Jetty's internal reloading. It should look something like this:
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<configuration>
<scanIntervalSeconds>0</scanIntervalSeconds>
</configuration>
</plugin>
Start jetty with the
maven jetty plugin and the MAVEN_OPTS parameter set to "-noverify -javaagent:/path/to/jrebel.jar".
To do it in the console:
> set MAVEN_OPTS="-noverify -javaagent:/path/to/jrebel.jar" > mvn jetty:run
pom.xml
file and set the scanIntervalSeconds param to 0, this will
turn off Jetty's internal reloading. It should look something like this:
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<configuration>
<scanIntervalSeconds>0</scanIntervalSeconds>
</configuration>
</plugin>
Start jetty with the
maven jetty plugin and the MAVEN_OPTS parameter set to "-noverify -javaagent:/path/to/jrebel.jar".
To do it in the console:
MAVEN_OPTS="-noverify -javaagent:/path/to/jrebel.jar" mvn jetty:run
File: %TOMCAT_HOME%\bin\catalina.bat
Add the following line:
set JAVA_OPTS=-noverify -javaagent:jrebel.jar %JAVA_OPTS%If you use the windows service or system tray startup use the following parameters instead:
-Xverify:none -javaagent:jrebel.jar
File: $TOMCAT_HOME/bin/catalina.sh
Add the following line:
JAVA_OPTS="-noverify -javaagent:jrebel.jar $JAVA_OPTS"
Since Jetty does not have any startup scripts just add the following line to the command line:
-noverify -javaagent:jrebel.jar
File: GAE_HOME/bin/dev_appserver.cmd
Add the following line after com.google.appengine.tools.KickStart:
--jvm_flag=-javaagent:jrebel.jar --jvm_flag=-noverify ^
File: GAE_HOME/bin/dev_appserver.sh
Add the following line after com.google.appengine.tools.KickStart:
--jvm_flag=-javaagent:jrebel.jar --jvm_flag=-noverify \
Copy jrebel.jar to RESIN_HOME/ folder.
Start httpd.exe with parameters
httpd.exe -J-javaagent:jrebel.jar -J-noverify
Copy jrebel.jar to RESIN_HOME/ folder.
Modify RESIN_HOME/bin/wrapper.pl $JAVA_ARGS variable to include the line:
-javaagent:jrebel.jar -noverify
Copy jrebel.jar to RESIN_HOME/ folder.
To start Resin server with JRebel use the following command line:
java -javaagent:jrebel.jar -noverify -jar lib\resin.jar
Copy jrebel.jar to RESIN_HOME/ folder.
Replace the last line of RESIN_HOME/bin/httpd.sh (or resin.sh in Resin 3.2+) with the following:
exec $JAVA_EXE -javaagent:${RESIN_HOME}/jrebel.jar -noverify -jar ${RESIN_HOME}/lib/resin.jar $*
File: %PLATFORM_HOME%\bin\startup.bat
Add the following line:
set JAVA_OPTS=-noverify -javaagent:jrebel.jar %JAVA_OPTS%
File: $PLATFORM_HOME/bin/startup.sh
Add the following line:
JAVA_OPTS="-noverify -javaagent:jrebel.jar $JAVA_OPTS"
If JRebel doesn't work with your application or container it is most probably due to some custom classloaders that don't behave exactly as we expect them to. You need to determine the class name of the classloader in question. The easiest way to do it is put the following line in any class that will be loaded by that classloader (e.g. in a web application case it could be a servlet class):
System.out.println(getClass().getClassLoader().getClass().getName());
This will print the name of the classloader class right out to the console. Let's assume the name was "com.acme.CustomClassLoader". In that case all we need to do is pass it to the JRebel agent like this:
-noverify
-javaagent:jrebel.jar=com.acme.CustomClassLoader
Sometimes there could be several different custom classloaders and in such a case a comma-separated syntax should be used:
-noverify
-javaagent:jrebel.jar=com.acme.CustomClassLoader1,com.acme.CustomClassLoader2,...
This should get most of the custom classloaders to work.
To generate the jrebel-bootstrap.jar just run java
-jar jrebel.jar using the JVM you will run the application with.
Just run as usual adding the integration string:
java -noverify -Xbootclasspath/p:jrebel-bootstrap.jar;jrebel.jar MAIN_CLASS ARGS
While developing IntelliJ IDEA or Eclipse plugins start the respected testing IDE instance with the integration string.
To generate the jrebel-bootstrap.jar just run java
-jar jrebel.jar using the JVM you will run the application with.
Just run as usual adding the integration string:
java -noverify -Xbootclasspath/p:jrebel-bootstrap.jar:jrebel.jar MAIN_CLASS ARGS
While developing IntelliJ IDEA or Eclipse plugins start the respected testing IDE instance with the integration string.
To generate the jrebel-bootstrap.jar just run java
-jar jrebel.jar using the JVM you will run the application with.
File: %DOMAIN_HOME%\bin\startWeblogic.cmd.
Add the following line:
set JAVA_OPTIONS=-noverify -Xbootclasspath/p:jrebel-bootstrap.jar;jrebel.jar %JAVA_OPTIONS%
To generate the jrebel-bootstrap.jar just run java
-jar jrebel.jar using the JVM you will run the application with.
File: $DOMAIN_HOME\bin\startWeblogic.sh.
Add the following line:
JAVA_OPTIONS="-noverify -Xbootclasspath/p:jrebel-bootstrap.jar:jrebel.jar $JAVA_OPTIONS"
To generate the jrebel-bootstrap.jar just run java
-jar jrebel.jar using the JVM you will run the application with.
File: %ORACLE10_HOME%\bin\oc4j.cmd
Add the following line:
set JVMARGS=-noverify -Xbootclasspath/p:jrebel-bootstrap.jar;jrebel.jar %JVMARGS%
To generate the jrebel-bootstrap.jar just run java
-jar jrebel.jar using the JVM you will run the application with.
File: $ORACLE10_HOME/bin/oc4j
Add the following line:
JVMARGS="-noverify -Xbootclasspath/p:jrebel-bootstrap.jar:jrebel.jar $JVMARGS"
To generate the jrebel-bootstrap.jar just run java
-jar jrebel.jar using the JVM you will run the application with.
Go to folder %ORACLE9_HOME%\j2ee\home and start the
server with the following command:
java -noverify -Xbootclasspath/p:jrebel-bootstrap.jar;jrebel.jar -jar oc4j.jar
To generate the jrebel-bootstrap.jar just run java
-jar jrebel.jar using the JVM you will run the application with.
Go to folder $ORACLE9_HOME/j2ee/home and start the
server with the following command:
java -noverify -Xbootclasspath/p:jrebel-bootstrap.jar:jrebel.jar -jar oc4j.jar
To generate the jrebel-bootstrap.jar just run java
-jar jrebel.jar using the JVM you will run the application with.
File: %JBOSS_HOME%\bin\run.bat
Add the following line:
set JAVA_OPTS=-noverify -Xbootclasspath/p:jrebel-bootstrap.jar;jrebel.jar %JAVA_OPTS%
To generate the jrebel-bootstrap.jar just run java
-jar jrebel.jar using the JVM you will run the application with.
File: $JBOSS_HOME/bin/run.sh
Add the following line:
JAVA_OPTS="-noverify -Xbootclasspath/p:jrebel-bootstrap.jar:jrebel.jar $JAVA_OPTS"
To generate the jrebel-bootstrap.jar just run java
-jar jrebel.jar using the JVM you will run the application with.
pom.xml file and set the scanIntervalSeconds
param to 0, this will turn off Jetty's internal reloading. Jetty's
internal reloading won't keep your session after reloading changed
classes. Start jetty with the maven jetty plugin and the MAVEN_OPTS
parameter set MAVEN_OPTS="-noverify -Xbootclasspath/p:jrebel-bootstrap.jar:jrebel.jar" mvn jetty:runRun
mvn compile in another terminal and JRebel will
reload your changed classes.To generate the jrebel-bootstrap.jar just run java
-jar jrebel.jar using the JVM you will run the application with.
File: %TOMCAT_HOME%\bin\catalina.cmd
Add the following line:
set JAVA_OPTS=-noverify -Xbootclasspath/p:jrebel-bootstrap.jar;jrebel.jar %JAVA_OPTS%If you use the windows service or system tray startup use the following parameters instead:
-Xverify:none -Xbootclasspath/p:jrebel-bootstrap.jar;jrebel.jar
To generate the jrebel-bootstrap.jar just run java
-jar jrebel.jar using the JVM you will run the application with.
File: $TOMCAT_HOME/bin/catalina.sh
Add the following line:
JAVA_OPTS="-noverify -Xbootclasspath/p:jrebel-bootstrap.jar:jrebel.jar $JAVA_OPTS"
To generate the jrebel-bootstrap.jar just run java
-jar jrebel.jar using the JVM you will run the application with.
Since Jetty does not have any startup scripts just add the following line to the command line:
-noverify -Xbootclasspath/p:jrebel-bootstrap.jar;jrebel.jar
To generate the jrebel-bootstrap.jar just run java
-jar jrebel.jar using the JVM you will run the application with.
Since Jetty does not have any startup scripts just add the following line to the command line:
-noverify -Xbootclasspath/p:jrebel-bootstrap.jar:jrebel.jar
Copy jrebel.jar to RESIN_HOME/ folder.
Start httpd.exe with parameters
httpd.exe -J-noverify -J-Xbootclasspath/p:jrebel-bootstrap.jar;jrebel.jar
Copy jrebel.jar to RESIN_HOME/ folder.
Modify RESIN_HOME/bin/wrapper.pl $JAVA_ARGS variable to include the line:
-noverify -Xbootclasspath/p:jrebel-bootstrap.jar:jrebel.jar
Use Configuration management console to add the following parameters to the JVM:
-noverify -Xbootclasspath/p:jrebel-bootstrap.jar:jrebel.jar
Use Configuration management console to add the following parameters to the JVM:
-noverify -javaagent:jrebel.jar
Generate the jrebel-bootstrap.jar by running java
-jar jrebel.jar using the JVM you will run the application server
with (you can also add this line to the startServer.bat
after the environment is set).
Edit the file server.xml found in the server
profile. Modify the tag jvmEntries and add the attribute genericJvmArguments
with the value -noverify -Xshareclasses:none -Xbootclasspath/p:/path/to/jrebel-bootstrap.jar;/path/to/jrebel.jar
Note that as WebSphere does not support exploded development mode.
Generate the jrebel-bootstrap.jar by running java
-jar jrebel.jar using the JVM you will run the application server
with (you can also add this line to the startServer.sh
after the environment is set).
Edit the file server.xml found in the server
profile. Modify the tag jvmEntries and add the attribute genericJvmArguments
with the value -noverify -Xshareclasses:none -Xbootclasspath/p:/path/to/jrebel-bootstrap.jar:/path/to/jrebel.jar
Note that as WebSphere does not support exploded development mode.
Generate the jrebel-bootstrap.jar by running java
-jar jrebel.jar using the JVM you will run the application server
with (you can also add this line to the startServer.sh
after the environment is set).
Edit the file server.xml found in the server
profile. Modify the tag jvmEntries and add the attribute genericJvmArguments
with the value -noverify -Xshareclasses:none -Xbootclasspath/p:/path/to/jrebel-bootstrap.jar:/path/to/jrebel.jar
Note that as WebSphere does not support exploded development mode.
Generate the jrebel-bootstrap.jar by running java
-jar jrebel.jar using the JVM you will run the application server
with (you can also add this line to the startServer.bat
after the environment is set).
Edit the file server.xml found in the server
profile. Modify the tag jvmEntries and add the attribute genericJvmArguments
with the value -noverify -Xshareclasses:none -Xbootclasspath/p:/path/to/jrebel-bootstrap.jar;/path/to/jrebel.jar
Note that as WebSphere does not support exploded development mode.
Generate the jrebel-bootstrap.jar by running java
-jar jrebel.jar using the JVM you will run the application server
with.
Start your application with the extra java options -noverify -Xshareclasses:none -Xbootclasspath/p:/path/to/jrebel-bootstrap.jar:/path/to/jrebel.jar
Generate the jrebel-bootstrap.jar by running java
-jar jrebel.jar using the JVM you will run the application server
with.
Start your application with the extra java options -noverify -Xshareclasses:none -Xbootclasspath/p:/path/to/jrebel-bootstrap.jar;/path/to/jrebel.jar