我在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库?
答案 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