java/security/acl/Group no longer supported in java 14

Hello,

is there a workaround or a future release to deal with higher java version like 14.
In Java 14 java/security/acl/Group is removed and the keycloak java adapter no longer works in java 14.
Note: Downgrading the Java Version is unfortunate not possible.

Error:
java.lang.NoClassDefFoundError: java/security/acl/Group

There is an issue about this https://issues.redhat.com/browse/KEYCLOAK-13633 but fix versions is 13.
The status is pull request sent and the pull request can be found on https://github.com/keycloak/keycloak/pull/7533 so you can keep an eye on it and maybe create your own build if your require a solution earlier than 13

FYI, this is only if you use Tomcat as the Servlet container.

i am getting the same error.can anyone help?

There is nothing to help with.

Or you use Java 11 where you deploy Keycloak, which is the simplest.
Or you create a custom build yourself and use that one
Or you wait until Keycloak 13 is released

I’ve posted the links to the original issue already and a link to a git pull request which you can use if you really need to run Keycloak on Java 11+ for some reason today.
Java 11 is LTS at the moment so I see no problem why running it on that is a problem.

Hello zonoaut, I am using the java 11 but I am still getting the same error

I’ve cloned 13.0.0 and using java 16.0.1 and still getting this error.

Compilation failure: Compilation failure: [ERROR] /Users/bpc/workspace/keycloak/adapters/spi/jboss-adapter-core/src/main/java/org/keycloak/adapters/jboss/KeycloakLoginModule.java:[39,8] cannot access java.security.acl.Group [ERROR] class file for java.security.acl.Group not found

What is the recommended resolution? Use Jetty? Use another java version? Patch?

thx.

PS. https://issues.redhat.com/browse/KEYCLOAK-13633 says its fixed in 13.0.0 and Closed. But clearly its not fixed in 13.0.0 for a vanilla environement. Hence there must be some magic configuration that 13.0.0 got built with, which is what I’m searching for. I don’t really care what that config is, I just need it to successful build so I can get on with my development.

It works for adapters ootb at our environment. We’re just using regular KC Tomcat 9.x adapter and compiling our app with Java 16 - works. With KC versions < 13, we got the above mentioned error.

Keycloak itself still is, for compile, on older Java version! See e.g. here: