According to JLS 7.7.1:
"The requires keyword may be followed by the modifier static. This specifies that the dependence, while mandatory at compile time, is optional at run time."
Jlink does not include such optional dependencies, unless explicitly listed - which is correct.
However user is not even informed about optional dependencies, which might be important for generated platform functionality.
Specific example is relation between jdk.compiler and jdk.zipfs modules.
Actually these modules have undeclared optional dependency, with several negative side-effects.
Declaring the dependency as optional: (jdk.compiler requires static jdk.zipfs) makes no difference for user as there is no information provided by jlink about potential importance of lining also jdk.zipfs module.
Proposed enhancement to jlink would warn users about all optional dependencies not included in the target platform.
"The requires keyword may be followed by the modifier static. This specifies that the dependence, while mandatory at compile time, is optional at run time."
Jlink does not include such optional dependencies, unless explicitly listed - which is correct.
However user is not even informed about optional dependencies, which might be important for generated platform functionality.
Specific example is relation between jdk.compiler and jdk.zipfs modules.
Actually these modules have undeclared optional dependency, with several negative side-effects.
Declaring the dependency as optional: (jdk.compiler requires static jdk.zipfs) makes no difference for user as there is no information provided by jlink about potential importance of lining also jdk.zipfs module.
Proposed enhancement to jlink would warn users about all optional dependencies not included in the target platform.
- blocks
-
JDK-8287560 jdk.compiler dependency on jdk.zipfs should be declared as optional
-
- Open
-
- relates to
-
JDK-8286571 java source launcher from a minimal jdk image containing jdk.compiler fails with --enable-preview option
-
- Resolved
-
jlink should warn user about if optional dependence is not resolved
According to JLS 7.7.1:
"The requires keyword may be followed by the modifier static. This specifies that the dependence, while mandatory at compile time, is optional at run time."
Jlink does not include such optional dependencies, unless explicitly listed - which is correct.
However user is not even informed about optional dependencies, which might be important for generated platform functionality.
Specific example is relation between jdk.compiler and jdk.zipfs modules.
Actually these modules have undeclared optional dependency, with several negative side-effects.
Declaring the dependency as optional: (jdk.compiler requires static jdk.zipfs) makes no difference for user as there is no information provided by jlink about potential importance of lining also jdk.zipfs module.
Proposed enhancement to jlink would warn users about all optional dependencies not included in the target platform.
"The requires keyword may be followed by the modifier static. This specifies that the dependence, while mandatory at compile time, is optional at run time."
Jlink does not include such optional dependencies, unless explicitly listed - which is correct.
However user is not even informed about optional dependencies, which might be important for generated platform functionality.
Specific example is relation between jdk.compiler and jdk.zipfs modules.
Actually these modules have undeclared optional dependency, with several negative side-effects.
Declaring the dependency as optional: (jdk.compiler requires static jdk.zipfs) makes no difference for user as there is no information provided by jlink about potential importance of lining also jdk.zipfs module.
Proposed enhancement to jlink would warn users about all optional dependencies not included in the target platform.
- blocks
-
JDK-8287560 jdk.compiler dependency on jdk.zipfs should be declared as optional
-
- Open
-
- relates to
-
JDK-8286571 java source launcher from a minimal jdk image containing jdk.compiler fails with --enable-preview option
-
- Resolved
-