|
|
|
|
|
by w8rbt
2996 days ago
|
|
I think the OP's point is, that's what a jar file was supposed to do. You can ship a bundled-up jar file to anyone and they can run it so long as they have the right JVM installed. Now, you replace 'the right JVM install' with, 'the right Docker install' and what have we really gained? It seems an added layer of complexity for little gain. I like docker and use it, but it's not for everything everywhere and is overly-hyped IMO. |
|
This is the key. The right JVM, the right classpaths, the right configuration, the right permissions, the right native libraries.
The setup process for every Java app we've used (thankfully just ActiveMQ and Kafka lately) have been incredibly complicated. JAR files in paths, long, convoluted shell scripts to set up all possible variables for every possible JVM, wrappers that wrap launchers, etc.
And then all of those steps are prone to breakage and are difficult to debug.
Shipping a Docker container lets you say "Here is a working environment that needs no configuration and won't suddenly fail until reconfigured when another app you have needs Java 9 and not Java 8".