From 1f6928462d322f8a3f01247089d19ce999ecaee5 Mon Sep 17 00:00:00 2001 From: Nico Mexis Date: Fri, 23 May 2025 10:50:17 +0200 Subject: [PATCH 1/2] Fix library class version error --- java/src/processing/mode/java/runner/Runner.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/java/src/processing/mode/java/runner/Runner.java b/java/src/processing/mode/java/runner/Runner.java index b4dc51770..af2396710 100644 --- a/java/src/processing/mode/java/runner/Runner.java +++ b/java/src/processing/mode/java/runner/Runner.java @@ -775,9 +775,9 @@ public static boolean handleCommonErrors(final String exceptionClass, } else if (exceptionClass.equals("java.lang.UnsupportedClassVersionError")) { listener.statusError("UnsupportedClassVersionError: A library is using code compiled with an unsupported version of Java."); - err.println("This version of Processing only supports libraries and JAR files compiled for Java 1.8 or earlier."); - err.println("A library used by this sketch was compiled for Java 1.9 or later, "); - err.println("and needs to be recompiled to be compatible with Java 1.8."); + err.println("This version of Processing only supports libraries and JAR files compiled for Java 17 or earlier."); + err.println("A library used by this sketch was compiled for Java 18 or later, "); + err.println("and needs to be recompiled to be compatible with Java 17."); } else if (exceptionClass.equals("java.lang.NoSuchMethodError") || exceptionClass.equals("java.lang.NoSuchFieldError")) { From 34a85d82db48aff54d0877440f32e873bced420f Mon Sep 17 00:00:00 2001 From: Nico Mexis Date: Sun, 1 Jun 2025 15:54:29 +0200 Subject: [PATCH 2/2] Make error message dynamic --- java/src/processing/mode/java/runner/Runner.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/java/src/processing/mode/java/runner/Runner.java b/java/src/processing/mode/java/runner/Runner.java index af2396710..206e9c62b 100644 --- a/java/src/processing/mode/java/runner/Runner.java +++ b/java/src/processing/mode/java/runner/Runner.java @@ -774,10 +774,11 @@ public static boolean handleCommonErrors(final String exceptionClass, err.println("and your code should be rewritten in a more efficient manner."); } else if (exceptionClass.equals("java.lang.UnsupportedClassVersionError")) { + int javaVersion = Runtime.version().feature(); listener.statusError("UnsupportedClassVersionError: A library is using code compiled with an unsupported version of Java."); - err.println("This version of Processing only supports libraries and JAR files compiled for Java 17 or earlier."); - err.println("A library used by this sketch was compiled for Java 18 or later, "); - err.println("and needs to be recompiled to be compatible with Java 17."); + err.println("This version of Processing only supports libraries and JAR files compiled for Java " + javaVersion + " or earlier."); + err.println("A library used by this sketch was compiled for Java " + (javaVersion + 1) + " or later, "); + err.println("and needs to be recompiled to be compatible with Java " + javaVersion + "."); } else if (exceptionClass.equals("java.lang.NoSuchMethodError") || exceptionClass.equals("java.lang.NoSuchFieldError")) {