RFR: JDK-8200132: Remove jre images and bundles

Magnus Ihse Bursie magnus.ihse.bursie at oracle.com
Sat Jun 2 14:07:25 UTC 2018


It is probably relatively trivial to add a configure option to select just the "JRE modules" when building, rather than all modules. If we add such an option, it would still be possible to build a traditional JRE, not just at the same time as building the full JDK. Doing Erik's change as suggested here, combined with such additional functionality would allow us to remove a lot of old cruft from the build system, while still allowing distributors to build a JRE. I'd recommend doing something like this, rather than to delay this patch to post-JDK11. 

/Magnus

> 2 juni 2018 kl. 10:20 skrev Alan Bateman <Alan.Bateman at oracle.com>:
> 
>> 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
> 




More information about the build-dev mailing list