gpt4 book ai didi

java - 由于以下原因导致错误 : java. lang.ClassNotFoundException Keycloak

转载 作者:行者123 更新时间:2023-11-30 03:24:31 25 4
gpt4 key购买 nike

我在使用 Keycloak 部署应用程序时遇到问题:

DEPLOYMENTS IN ERROR: Deployment "vfs:///D:/jboss-6.1.0.Final/jboss-6.1.0.Final/server/default/deploy/keycloak-demo-ear.ear" is in error due to the \ following reason(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}

或者这个:

DEPLOYMENTS IN ERROR: Deployment "vfs:///D:/jboss-6.1.0.Final/jboss-6.1.0.Final/server/default/deploy/keycloak-demo.ear" is in error due to the following reason(s): 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/ deployment failed

将以下代码添加到 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"
}
}

我将 Redme 文件中的 Keycloak 配置添加到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>

当我从示例项目中删除此父级时,它停止工作

我的应用程序结构是

mainapp
... pom.xml
... module1 ... pom.xml
... module2 ... pom.xml
... module3 ... pom.xml

每个模块都有 parentmainapp

当我将父级从 keycloak 添加到 mainapp pom.xml 时,我在 parent 上出现错误其他模块的 pom.xml 中的 >mainapp ,例如:

Plugin execution not covered by lifecycle configuration:

我还尝试将 dependency 添加到 keycloak-parent 但 id 仍然不起作用

如何解决这个问题?

最佳答案

Keycloak 由服务器(Keycloak 服务器)和适配器组成,用于保护您的应用程序并处理身份验证。如果您将自己的应用程序部署在与 Keycloak 服务器相同的服务器中,则需要将 Keycloak 适配器添加到服务器,如前所述(请参阅 Keycloak adapters )。最新版本的 Keycloak 作为预配置的 Wildfly 9 提供,因此可能适合您的应用程序。还有用于其他容器或纯 HTML 客户端的适配器。

从你的问题来看,我猜你正在尝试将 Keycloak 示例修改到你自己的应用程序中。 Keycloak 示例使用共享父 POM,因此可能需要将其剥离为单个 POM 以获得更好的概览。或者,根据您的专业知识,您可以从具有 JAAS 安全性的基本 JEE 应用程序开始,并将其部署到 Keycloak 服务器(安装了 JBoss/Wildfly 适配器)。参见例如Oracle's JEE 6 Tutorial .

关于java - 由于以下原因导致错误 : java. lang.ClassNotFoundException Keycloak,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30588363/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com