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 ------------- Commit messages: - Fix test to not produce an invalid MRJAR file - Introduce dedicated error message for "too high" check - Fix MultiReleaseJar.java - Fix MultiVersionError.java - Fix MissingDepsTest.java - Fix VersionValidatorTest.java - Fix Basic.java and Basic1.java - Fix ApiValidatorTest.java - Fix Basic.java - 8268611: jar --validate should check targeted classes in MR-JAR files Changes: https://git.openjdk.org/jdk/pull/22103/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=22103&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8268611 Stats: 132 lines in 13 files changed: 41 ins; 23 del; 68 mod Patch: https://git.openjdk.org/jdk/pull/22103.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/22103/head:pull/22103 PR: https://git.openjdk.org/jdk/pull/22103