Thanks guys.

I have something of a repro on GitHub. I made a fork using stock ubuntu
OpenJDK 17 on ubuntu 22.04 and the tests break, but in a different way.

I think the root cause is

  java.lang.UnsupportedClassVersionError:
sun/util/resources/cldr/provider/CLDRLocaleDataMetaInfo 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

But that exception is odd. It sounds like the JVM running the tests is
trying to load incompatible classes. Are build products cached/reused
between different GitHub workflows? Or do we have some compiled code / JARs
committed that effectively pin the build to a particular JDK build/version?

build log:
https://github.com/meonkeys/apache-fineract/actions/runs/14433712572/job/40471605876
(all 3 integration test runs failed similarly)

my changes:
https://github.com/meonkeys/apache-fineract/compare/07ea81e3..196a558e

Related (naive) question: why can't we use the latest and greatest JDK for
development (e.g. version 24)? I would expect a newer release to be faster,
have fewer bugs, detect more bugs in code, etc.

Based on c81fc7f0f4709095336e742cfbd7052bb4d01808 ("Upgrade to JDK 17") I'm
guessing the answer is that using a newer JDK version means lots of little
code changes to handle deprecated APIs, etc. Is that right?

Reply via email to