On 02/06/2018 08:05, Aleksey Shipilev wrote:
:
Unfortunately, in the age of containers, distribution size matters. It makes
the whole sense to ship
JRE in Docker containers to provide the execution environment for the upper
layers. Remember, hardly
any application is fully modularized and/or uses jlink/jimage way of
distribution.
Also, products that ship with their own OpenJDK distribution (e.g. JetBrains
IDEs) do ship with
jres, which cuts down their distribution sizes.
Cost savings for having JRE only are significant, as can be observed with
current bundles:
178M Jun 2 08:53 jdk-11-internal+0_linux-x64_bin.tar.gz
38M Jun 2 08:53 jre-11-internal+0_linux-x64_bin.tar.gz
Therefore, I believe removing jre is too disruptive, at least for 11, at least
until we see that the
whole jlink/jimage thing really works out in the wider Java ecosystem and JREs
are really abandoned.
I don't disagree with the significance of what has been proposed here.
However, just to point out that creating what used to know as the JRE is
one `jlink` command. There is no requirement for the application or
libraries using that run-time be developed as modules. Also incorporate
generating of JDK run-time images into the build when working with
containers is very useful as you get fine control on which modules to
include.
-Alan