RFR: 8268611: jar --validate should check targeted classes in MR-JAR files
Jan Lahoda
jlahoda at openjdk.org
Thu Dec 12 07:56:49 UTC 2024
On Thu, 14 Nov 2024 11:57:52 GMT, Christian Stein <cstein at openjdk.org> wrote:
> Please review this change ensuring all targeted classes in a MR-JAR file should target the same or a lower classfile version.
>
> For example, having compiled source files with `javac` 25 without using the `--release` option (or with `--release 25`) and trying to archive them via a `jar --create --file a.jar --release 9 ... --release 10 ...` command now fails with:
>
> classfile release value of META-INF/versions/9/version/Version.class too high: 25
> classfile release value of META-INF/versions/10/version/Version.class too high: 25
> invalid multi-release jar file a.jar deleted
>
>
> - [x] Implement check
> - [x] Update failing tests
Makes sense to me. Might be better to have an error message for this separate from the existing error condition, in case the texts would need to differ at some point.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/22103#issuecomment-2478134100
More information about the compiler-dev
mailing list