hotswap changed java code into a JVM with hotswap.jar

I’ve found an ant task and java utility code for hotswapping code into a JVM using the JPDA debugging interface. Though it requires a pretty recent version of ant, it does work really well … within some constraints of the JVM/JPDA interface itself. Specifically, you apparently cannot add, remove or change the signature of methods … Continue reading “hotswap changed java code into a JVM with hotswap.jar”

I’ve found an ant task and java utility code for hotswapping code into a JVM using the JPDA debugging interface.

Though it requires a pretty recent version of ant, it does work really well … within some constraints of the JVM/JPDA interface itself. Specifically, you apparently cannot add, remove or change the signature of methods via said interface … so whole-sale changes to the program code aren’t going to work. But, for a wide variety of minor changes and tweaks, hotswap.jar is incredibly useful.

Nevermind the bits about constructing timestamps in his instructions … touch a sentinel file to keep track of load-times, and use ant’s built-in depend mechanism. For example, with a server in server/ depending on shared utility code in common/ and per-module build-output going into server/build/java, common/build/java, &c…