问题
I was wondering if someone could point me in the direction of getting JRebel to work when I execute 'mvn tomcat:run' from the command line. I can get JRebel to work in my IDE (IntelliJ IDEA), but it feels a little clunky to be running inside of the IDE. When I run tests, I don't like having another process running right next to it - call it a habit.
More than that though, I've been having some server lock ups with JRebel as I try it out... and I don't want IDE to hang as a result. I've been teminating the process manually, and control is given back to IDEA... but it would be better to not have it running in IDEA at all.
I've tried googling this, but I haven't found how to incorporate JRebel with the tomcat plugin.
Thanks
回答1:
doesn't setting MAVEN_OPTS system variable help?
Just and example:
- mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-webapp -DarchetypeArtifactId=maven-archetype-webapp
- cd my-webapp
- to pom.xml of your example add the following:
<plugin>
<groupId>org.zeroturnaround</groupId>
<artifactId>jrebel-maven-plugin</artifactId>
<executions>
<execution>
<id>generate-rebel-xml</id>
<phase>process-resources</phase>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
</plugin> - set MAVEN_OPTS=-javaagent:/path/to/jrebel.jar
- mvn tomcat:run
In the console you'll see message from JRebel like these:
JRebel: Directory 'C:\projects\my-webapp\target\classes' will be monitored for changes.
JRebel: Directory 'C:\projects\my-webapp\src\main\webapp' will be monitored for changes.
回答2:
If you happen to execute tomcat:run within eclipse and have the JRebel eclipse plugin installed, you can also simply enable JRebel on the run configuration.
回答3:
When I tried it today. I didn't see my changes being reflected at run time. I had to relauch application to see changes take it effect
来源:https://stackoverflow.com/questions/5788414/getting-jrebel-to-work-with-mvn-tomcatrun