My setup is
- IDE: IntelliJ
- Application: JEE6 with an EAR and a WAR module
- Build: Maven
- Hot-Code-Replacement: JRebel
- App-Server: Glassfish 3.1
I configured the application in IntelliJ in a way that the ear gets deployed. The ear "target" folder looks like this target/classes/ target/appEar/appWeb-version-Snapshot.war/ target/appEar/lib/ target/appEar/META-INF
In the default configuration JRebel listens for changes in the classes/ folder. When I change something in the web module, and build this, the classes are only updated in appWeb/target/classes/ but not in appEar/target/appEar/appWeb-version-Snapshot.war/.
If I want to update those classes I have to select "Build Artifacts" in IntelliJ after building the project.
To sum up, I have to do these steps for a hot code replacement:
- (once) Configure JRebel correctly.
- Make project
- Build Artifacts
This whole procedure appears to be too complicated to me. Does anyone have a clue how to setup IntelliJ/Maven/Glassfish/JEE/JRebel correctly? I have not found an example containing all my tools. I'd like to have only one action for the code replacement, not two.