The JIT is a realtime compiler, so yes, there's still a compiler when you put the JVM on a machine (whatever form you use).
Of course, I know of a lot of developers who just put the whole JDK in a Docker image to save on the complexity of having to manage two different installs or containers.
> I never needed `javac` on production server.
Good; that's how it should be; but not how it always is.