Installation
The installation splits into two parts: the devcat-server itself and the hotswap-agent that brings unlimited class reloading to the server.
Devcat Server
After requesting the devcat-server distribution zip file extract it to a folder of your choice, say <devcat-home>. Add this <devcat-home> folder to your shell path environment for easy startup.
Devcat relies on the JAVA_HOME environment variable to start java. Make sure that the JAVA_HOME points to a Java VM installation folder. Any Java runtime with version 17+ should do.
Hotswap Agent
The installation of the hotswap agent is optional but highly recommended.
The hotswap agent needs an enhanced Java runtime that supports “enhanced class redefinition” (DCEVM). Jetbrains provides such a Java VM with their JetBrainsRuntime project at github (JBR).
Devcat supports Java 17 and higher, so download a suitable JBR from https://github.com/JetBrains/JetBrainsRuntime/releases. Extract the bundle into a folder of your choice, say <JBR-install-directory>.
Now, download latest release of hotswap-agent.jar from https://github.com/HotswapProjects/HotswapAgent/releases and copy it to <JBR-install-directory>/lib/hotswap folder.
When using the agent, it’s important to note that the file name in lib/hotswap folder should not contain the version name, and should instead use the plain hotswap-agent.jar filename.
Your folder structure should look like:
<JBR-install-directory>
+- lib
+- hotswap
+- hotswap-agent.jar
To use the hotswap agent in devcat point your the JAVA_HOME environment variable to the <JBR-install-directory>.
Please note, that devcat-server checks for the hotswap-agent.jar to be present in the $JAVA_HOME/lib/hotswap folder and sets necessary JVM parameter automatically.
See also https://hotswapagent.org/mydoc_quickstart-jdk17.html.