I use Java 11 (actually Eclipse Temurin/Adoptium, formerly known as AdoptOpenJDk) with bits of Java EE 8, it works fine. (Not using the whole EE stack, just select components such as servlets and JAX-RS.) Tried upgrading to Jakarta EE, got hit by needing to upgrade dozens of random open source libraries to newer versions with Jakarta EE support, some of which had breaking changes which have nothing actually to do with Jakarta EE. I’m sure it will get finished eventually.
I recently joined an AI team (platform/infrastructure/apps rather than the actual data science proper) and since then I’m trying to do less and less in Java and more and more in Python-so that mess may be left for someone else to resolve. But Python contains dependency hells of its own
No issues with licensing - openjdk and others are perfect for production use for the vast majority (imo). Some supermassive projects excluded but they are always outliers.
The migration path after 8 is just a pain, As you mentioned, package. The name changes are for no benefit to developers or end users.
Shout out to Quarkus which uses OpenRewrite recipes to automatically modify your source files for you. Upgrading to the latest Jakarta EE was basically a single command.
THIS is the real problem. For _most_ projects upgrading from 8 to 9 meant just adding a few packages that were removed from default JDK with Jigsaw. That part is generally fine, even with OSGi hell.
The Javax -> Jakarta changes for validation, EE, XML, etc. are a damn nightmare!
And if you're using microservices it's either a total migration (a no go for anyone minimizing bugs and outages), or a slow one-by-one trudge, if you use some commons between them that commons will need to support both javax and jakarta together, superbly fun
There is a gradle plugin that can rewrite jar dependencies class files to be jakarta packages from javax. This makes updating your code the major issue versus also figuring out every dependency at once.