I believe @meyay said it is not enough to replace the jar file since it is loaded into memory and you need to reload it, which basically means restart. So it is not about Docker, it is about Java and memory handling. Note that my Java knowledge is not so deep so I can’t help you with that. However a container is a running process. If springboot is part of the main process loaded when the container starts, you need to restart that process which means restart the container.
If you just want to avoid going through the whole starting process, like a longrunning entrypoint, you can send a signal directly to the java process to reload/restart. I don’t know if that could reload the jar files though.
That is what a volume is. It is not for using it from the host. You can use bind mounts or change the path of of the volume. The latter is useful when you need the proper permissions (from the app’s point of view) set on the host folder, but it means you might not be able to edit or even read those the files. I think a simple bind mount would be enough for you, but it will not reload the jar files.