【发布时间】:2015-08-15 18:57:39
【问题描述】:
我在使用 Keycloak 部署应用时遇到问题:
部署错误: 由于以下原因,部署“vfs:///D:/jboss-6.1.0.Final/jboss-6.1.0.Final/server/default/deploy/keycloak-demo-ear.ear”出错( s): java.lang.ClassNotFoundException: javax.faces.component.UIComponent from BaseClassLoader@6929c1c6{vfs:///D:/jboss-6.1.0.Final/jboss-6.1.0.Final/server/default/deploy /keycloak-demo-ear.ear}
或者这个:
部署出错:部署 “vfs:///D:/jboss-6.1.0.Final/jboss-6.1.0.Final/server/default/deploy/keycloak-demo.ear”由于以下原因而出错: org.jboss.deployers.spi.DeploymentException: URL file:/D:/jboss-6.1.0.Final/jboss-6.1.0.Final/server/default/deploy/keycloak-demo-ear.ear/keycloak-demo-web.war/部署失败
将以下代码添加到web.xml时出现错误
<login-config>
<auth-method>KEYCLOAK</auth-method>
<realm-name>demo</realm-name>
</login-config>
我从管理控制台在WEB-INF 中创建了keycloak.json,例如:
{
"realm": "demo",
"realm-public-key": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCrVrCuTtArbgaZzL1hvh0xtL5mc7o0NqPVnYXkLvgcwiC3BjLGw1tGEGoJaXDuSaRllobm53JBhjx33UNv+5z/UMG4kytBWxheNVKnL6GgqlNabMaFfPLPCF8kAgKnsi79NMo+n6KnSY8YeUmec/p2vjO2NjsSAVcWEQMVhJ31LwIDAQAB",
"auth-server-url": "http://localhost:8080/auth",
"ssl-required": "external",
"resource": "panel",
"credentials": {
"secret": "6c3fa646-f033-4864-8b87-604887ce8eec"
}
}
我将Keycloak配置从redme文件添加到standalone/configuration/standalone.xml:
适用于 WildFly 和 JBoss EAP 6.x
<extensions>
<extension module="org.keycloak.keycloak-subsystem"/>
...
</extensions>
<profile>
<subsystem xmlns="urn:jboss:domain:keycloak:1.0">
<auth-server name="main-auth-server">
<enabled>true</enabled>
<web-context>auth</web-context>
</auth-server>
</subsystem>
...
</profile>
我正在使用这个 keycloak (keycloak-appliance-dist-all-1.1.0.Final) http://sourceforge.net/projects/keycloak/files/1.1.0.Final/keycloak-appliance-dist-all-1.1.0.Final.zip/download
我从包中成功部署了示例 keycloak 1.1.0,并希望在我的应用程序中使用 keycloak。我做错了什么?
编辑:
我想我找到了导致问题的元素:
<parent>
<artifactId>keycloak-parent</artifactId>
<groupId>org.keycloak</groupId>
<version>1.1.0.Final</version>
<relativePath>../../../pom.xml</relativePath>
</parent>
当我从示例项目中删除此 parent 时,它停止工作
我的应用结构是
主应用程序
... pom.xml
...模块1 ... pom.xml
...模块2 ... pom.xml
...模块3 ... pom.xml
每个模块都有parent 到mainapp
当我将父级从 keycloak 添加到 mainapp pom.xml 时,我在 pom.xml 的其他模块中的 parent 到 mainapp 出现错误,例如:
生命周期配置未涵盖插件执行:
我也尝试将dependency 添加到keycloak-parent,但 id 仍然不起作用
我该如何解决这个问题?
【问题讨论】: