I am getting following exception while deploying ear in WildFly 10. Apapter is installed so no jars included in ear & no dependencies set.
Caused by: java.lang.NoClassDefFoundError: org/keycloak/KeycloakPrincipal Caused by: java.lang.ClassNotFoundException: org.keycloak.KeycloakPrincipal from [Module \"deployment.app.ear.appEJB.jar:main\" from Service Module Loader]"}, "WFLYCTL0412: Required services that are not installed:" => [ "jboss.undertow.deployment.default-server.default-host./App" ]
This issue comes only for classes in appEJB.jar. The classes in appWEB.war has no dependency issue. Here is my subsystem conf:
<subsystem xmlns="urn:jboss:domain:keycloak:1.1">
<secure-deployment name="appWEB.war">
<realm>demo</realm>
<resource>app</resource>
<use-resource-role-mappings>true</use-resource-role-mappings>
<public-client>true</public-client>
<auth-server-url>http://localhost:8180/auth</auth-server-url>
<ssl-required>EXTERNAL</ssl-required>
<principal-attribute>preferred_username</principal-attribute>
</secure-deployment>
</subsystem>
Is there any other way to configure ear deployment in subsystem so that ejb.jar also get Keycloak libraries implicitly?
Issue fixed when I set Keycloak modules dependency for ejb.jar in jboss deployment descriptor.
<module name="org.keycloak.keycloak-adapter-spi"/>
<module name="org.keycloak.keycloak-adapter-core"/>
<module name="org.keycloak.keycloak-common"/>
<module name="org.keycloak.keycloak-core"/>