Use Moqui Framework to build enterprise applications based on Java. It includes tools for databases (relational, graph, document), local and web services, web and other UI with screens and forms, security, file/resource access, scripts, templates, l10n, caching, logging, search, rules, workflow, multi-instance, and integration.
I've tested on Java 17, and perhaps others have as well, and it is working with that version, or in other words is forward compatible. I haven't tried Java 21 yet, but it may work fine on a Java 21 JDK.
It is a very different thing to support a more recent version of Java than it is to require a more recent version. The pattern so far for Moqui has been to defer requiring more recent versions of Java until there is a reason, and it is supported on some of the less common operating systems that Moqui users are running (like IBM iSeries OS for example).
Is there a reason you have in mind that Moqui should require Java 17 or 21, and not just be forward compatible with them?
Being forward compatible means that you can build and run with those versions of Java, and your own code can use language features introduced in later versions of Java, but Moqui itself will not use those language features in order to maintain support for older versions of Java (currently Java 11 or later is required, ie Moqui will not run on Java 8, etc).
Thanks for your response, I will test on Java17. Because I am very interested in new features of Java 17 and Java 21.
You mentioned "in order to maintain support for older versions of Java" it makes sense.
I've tested on Java 17, and perhaps others have as well, and it is working with that version, or in other words is forward compatible. I haven't tried Java 21 yet, but it may work fine on a Java 21 JDK.
It is a very different thing to support a more recent version of Java than it is to require a more recent version. The pattern so far for Moqui has been to defer requiring more recent versions of Java until there is a reason, and it is supported on some of the less common operating systems that Moqui users are running (like IBM iSeries OS for example).
Is there a reason you have in mind that Moqui should require Java 17 or 21, and not just be forward compatible with them?
Being forward compatible means that you can build and run with those versions of Java, and your own code can use language features introduced in later versions of Java, but Moqui itself will not use those language features in order to maintain support for older versions of Java (currently Java 11 or later is required, ie Moqui will not run on Java 8, etc).