polylith

J 2025-07-30T15:50:00.743919Z

Hi! Is there a minimal version of Java to use with clj-poly. We have update from 0.2.18to 0.2.22 and now I have the following error on clojure -M:poly:

Syntax error (UnsupportedClassVersionError) compiling . at (clojure/tools/deps/extensions/pom.clj:55:16).
org/apache/maven/artifact/versioning/InvalidVersionSpecificationException has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 55.0

J 2025-07-30T15:50:15.115759Z

I use Java11

seancorfield 2025-07-30T16:23:00.949609Z

Class file version 61 is JDK 17 I think?

seancorfield 2025-07-30T16:24:16.732049Z

(we're on JDK 24 at work everywhere and tend to run into the opposite end of the compatibility stick: needing to add options to workaround deprecations as the JDK evolves)

J 2025-07-31T07:48:50.623269Z

So latest poly version is not compatible with Java 11?

J 2025-07-31T08:20:34.602019Z

Version 0.2.21 works fine

seancorfield 2025-07-31T14:46:18.487859Z

JDK 11 is class file version 55. If 0.2.21 works on JDK 11 you'll have to use that. The error message you posted says that 0.2.22 requires (at least) JDK 17.

seancorfield 2025-07-31T14:49:08.884729Z

https://endoflife.date/oracle-jdk shows JDK 11 is nearly 7 years old and premier support ended nearly two years ago. Premier support for 17 ends in about a year. 21 is the current "Long Term Support" version but 25 will be out in a couple of months as the replacement LTS version.

J 2025-07-31T14:55:40.035649Z

Thanks @seancorfield