Integrated: 8286571: java source launcher from a minimal jdk image containing jdk.compiler fails with --enable-preview option

Adam Sotona asotona at openjdk.java.net
Tue Jun 7 13:43:07 UTC 2022


On Tue, 17 May 2022 12:47:25 GMT, Adam Sotona <asotona at openjdk.org> wrote:

> ### Problem description
> Minimal jdk image created by jlink with the only jdk.compiler module and its dependencies
> fails to run java source launcher correctly (for example when --source N is specified).
> Failing source launcher is only one the expressions of internal jdk.compiler malfunction, another example is failure to run javac with --release option.
> 
> ### Root cause
> Module jdk.compiler requires zip filesystem (jdk.zipfs module) to parse ct.sym file and so to provide full functionality.
> Module jdk.zipfs is not included in the minimal JDK image, because module jdk.compiler does not declare it as "requires" in its module info.
> 
> ### Alternative patch
> The problem can be alternatively resolved by complex code checks in jdk.compiler to provide user with valid error message, however that solution would be just a workaround for jdk.compiler dual functionality (with or without presence of jdk.zipfs module). Compiler functionality without access to ct.sym through jdk.zipfs is very limited. 
> 
> ### Proposed fix
> This patch fixes the problem by explicit declaration of jdk.compiler dependency on jdk.zipfs.
> Plus added specific test case.
> 
> Please review the patch or raise objections against declaration of jdk.compiler dependent on jdk.zipfs.
> 
> Thanks,
> Adam

This pull request has now been integrated.

Changeset: 905bcbe3
Author:    Adam Sotona <asotona at openjdk.org>
URL:       https://git.openjdk.java.net/jdk/commit/905bcbe34eb9750f6f7f12a577733c71a31d7972
Stats:     76 lines in 3 files changed: 29 ins; 37 del; 10 mod

8286571: java source launcher from a minimal jdk image containing jdk.compiler fails with --enable-preview option

Reviewed-by: jlahoda

-------------

PR: https://git.openjdk.java.net/jdk/pull/8747


More information about the core-libs-dev mailing list