Webroot not updating
External config and/or other resources can be provided to a fatjar pretty easily - you just add it to the cp used when running the fatjar.
Vert.x doesn't really have an opinion on whether you use a fatjar or not - the classpath issue should go away when you remove that system property, I was just suggesting that as an easier option :) while the service is running.
In my experience it will ONLY find it if it's placed as a subdirectory of the working directory from which the JVM is launched. I had a quick look at the reproducer looks complex.
You wouldn't need to worry about creating scripts and setting up classpaths at all.
Often taking the past of least resistance is the least painful option :) BTW, I don't see why it wouldn't work when not in a fatjar (that needs investigation) but I'm just saying using a fatjar means you wouldn't have to assemble the list of jars and construct the classpath yourself.
Rather, it can be updated there, but it doesn't get served from there.
So, if you have an update to make to this content on a running service, it is necessary to update in two locations ( When you serve a file from the classpath, it looks for it on the classpath, then if it finds it, extracts it to disk, from where it actually serves the file. You wouldn't want to extract the file to serve from the classpath each time -that's going to be very slow compared to serving to disk.