Deploying your Clojure app is not hard; you can run a jar file with a port exposed, slap a war in a Wildfly/Tomcat/Glassfish server, run it from the REPL on the server with an exposed port, stick a Clojurescript app in a regular http directory, and on and on. My question is, for those doing uberjar deployments (I assume run with
java -jar), how do you orchestrate your re-deployments? In particular, how do you stop the running version in order to start your other version? Do you somehow keep track of your process ID and kill it? Something more sophisticated?
This is the reason I’ve used Wildfly so happily in the past, but now that Immutant is long-deprecated and incompatible with Java 11+, I’m considering moving to something shell-script-based.