NoClassDefFoundError:org / keycloak / KeycloakPrincipal

时间:2018-05-17 10:46:24

标签: keycloak wildfly-10

我在WildFly 10中部署耳朵时遇到异常。安装了Apapter,因此耳朵和耳机中没有包含耳塞。没有依赖项设置。

  

引起:java.lang.NoClassDefFoundError:   组织/ keycloak / KeycloakPrincipal       引起:java.lang.ClassNotFoundException:org.keycloak.KeycloakPrincipal来自[Module]   来自Service Module Loader的“deployment.app.ear.appEJB.jar:main \”,}},           “WFLYCTL0412:未安装所需的服务:”=> [               “jboss.undertow.deployment.default-server.default-host./App”           ]

此问题仅适用于appEJB.jar中的类。 appWEB.war中的类没有依赖性问题。 这是我的子系统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>

是否有其他方法可以在子系统中配置ear部署,以便ejb.jar也隐式获取Keycloak库?

2 个答案:

答案 0 :(得分:1)

在jboss部署描述符中为ejb.jar设置Keycloak模块依赖项时修复了问题。

   Toast.makeText(this, "My Toaster", Toast.LENGTH_LONG).show();

答案 1 :(得分:1)

在META-INF路径中为MANIFEST.MF项目创建ejb.jar。写文件内容:

Manifest-Version: 1.0
Dependencies: org.keycloak.keycloak-adapter-spi, org.keycloak.keycloak-adapter-core, org.keycloak.keycloak-common, org.keycloak.keycloak-core