Files
javademos/docs/output/92-maven-release.txt

41 lines
2.5 KiB
Plaintext

# pom.xml sets maven.compiler.source/target/release to 25 (lanes/upgrade/pom.xml)
$ mvn package (build JDK 21)
[INFO] --- resources:3.3.1:resources (default-resources) @ upgrade-demo ---
[INFO] --- compiler:3.13.0:compile (default-compile) @ upgrade-demo ---
[INFO] Compiling 1 source file with javac [debug release 25] to target/classes
[INFO] BUILD FAILURE
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.13.0:compile (default-compile) on project upgrade-demo: Fatal error compiling: error: release version 25 not supported -> [Help 1]
$ mvn package (build JDK 25)
[INFO] --- resources:3.3.1:resources (default-resources) @ upgrade-demo ---
[INFO] --- compiler:3.13.0:compile (default-compile) @ upgrade-demo ---
[INFO] Compiling 1 source file with javac [debug release 25] to target/classes
[INFO] --- resources:3.3.1:testResources (default-testResources) @ upgrade-demo ---
[INFO] --- compiler:3.13.0:testCompile (default-testCompile) @ upgrade-demo ---
[INFO] --- surefire:3.2.5:test (default-test) @ upgrade-demo ---
[INFO] --- jar:3.4.1:jar (default-jar) @ upgrade-demo ---
[INFO] Building jar: <repo>/build/upgrade/mvn25/target/upgrade-demo-1.0.jar
[INFO] BUILD SUCCESS
$ mvn package (build JDK 27, still release 25)
[INFO] --- resources:3.3.1:resources (default-resources) @ upgrade-demo ---
[INFO] --- compiler:3.13.0:compile (default-compile) @ upgrade-demo ---
[INFO] Compiling 1 source file with javac [debug release 25] to target/classes
[INFO] --- resources:3.3.1:testResources (default-testResources) @ upgrade-demo ---
[INFO] --- compiler:3.13.0:testCompile (default-testCompile) @ upgrade-demo ---
[INFO] --- surefire:3.2.5:test (default-test) @ upgrade-demo ---
[INFO] --- jar:3.4.1:jar (default-jar) @ upgrade-demo ---
[INFO] Building jar: <repo>/build/upgrade/mvn27/target/upgrade-demo-1.0.jar
[INFO] BUILD SUCCESS
$ javap -v -cp target/classes demo.App | grep 'major version'
major version: 69
$ java -cp target/classes demo.App (JDK 25)
running on Java 25
$ java -cp target/classes demo.App (JDK 21: the class file is newer than the JVM)
Error: LinkageError occurred while loading main class demo.App
java.lang.UnsupportedClassVersionError: demo/App has been compiled by a more recent version of the Java Runtime (class file version 69.0), this version of the Java Runtime only recognizes class file versions up to 65.0