0

For some reason I can't get JRebel work on external Tomcat 7 with Eclipse. Everything works fine if I use server runtime in IDE, but if I launch server from command line and deploy application externally, JRebel doesn't reflect my changes to server.

Here is how I configured and deployed my project:

  • Enabled JRebel on project from projects configuration tab
  • Startup set to Run locally from command line
  • Created catalina-jrebel.bat according to generated configuration
  • Built project using maven
  • launched server using catalina-jrebel.bat run
  • Deployed war file on server from Tomcat's application manager

Now, if I modify my sample Servlet and save, nothing happens. Application behavior doesn't change, nothing in console.

Am I missing something, and how to debug the problem?

Here is the content of catalina-jrebel.bat

@echo off
set REBEL_BASE=C:\Users\tutoivon\.jrebel
set JAVA_OPTS="-javaagent:C:\SLO\eclipse\plugins\org.zeroturnaround.eclipse.embedder_6.4.4.RELEASE\jrebel\jrebel.jar"  %JAVA_OPTS%
call "%~dp0\catalina.bat" %*
Tuomas Toivonen
  • 21,690
  • 47
  • 129
  • 225

1 Answers1

1

Some things you can check by yourself:

  1. Server starts up with JRebel banner - so you can be sure JRebel Agent was actually attached to server.
  2. In the banner it says that you have valid license - no license, no reloading.
  3. The built .war contains a rebel.xml inside WEB-INF/classes - this helps JRebel to find the location of classes updated by IDE.
  4. The paths in rebel.xml are absolute and correct, no placeholders (e.g. ${rebel.workspace.path}) are used - if placeholders are used, then they must be defined by passing e.g. -Drebel.workspace.path=/path/to/workspace to JAVA_OPTS. If done correctly, JRebel will also log a line such as JRebel: Monitoring directory '/path/in/rebelxml' in server log.

If you still can't get it to work after these steps, contact support@zeroturnaround.com.

Henri Viik
  • 664
  • 1
  • 5
  • 16