小编Ken*_*ker的帖子

尝试为 Keycloak 创建自定义身份验证器提供程序时,来自 Maven 部署的 NoClassDefFoundError

我正在实现一个 Keycloak 身份验证提供程序(适用于 Keycloak 6.0.1),当用户临时锁定时它会返回一条消息(如在 Keycloak Custom message on usertemporary lock 中指定的那样)

当我这样做时,mvn clean install wildfly:deploy我得到:

[ERROR]     Caused by: java.util.ServiceConfigurationError: org.keycloak.authentication.AuthenticatorFactory: Provider com.mumba.cloud.authenticator.LockedUserAuthenticatorFactory could not be instantiated
[ERROR]     Caused by: java.lang.NoClassDefFoundError: Failed to link com/mumba/cloud/authenticator/LockedUserAuthenticator (Module \"deployment.lockeduser-authenticator-1.0-SNAPSHOT.jar\" from Service Module Loader): org/keycloak/authentication/authenticators/browser/UsernamePasswordForm"}}}}
Run Code Online (Sandbox Code Playgroud)

我正在寻找一些帮助来了解如何追踪为什么我收到 java.lang.NoClassDefFoundError 以及为什么 Maven (或者可能是 Wildfly)似乎找不到 org/keycloak/authentication/authenticators/browser/UsernamePasswordForm

这不是编译时错误,我相信下面的导入语句对于 UsernamePasswordForm 是正确的(请参阅下面的代码)。

我还认为我已正确地将依赖项(keycloak-services)添加到我的 pom.xml 中(见下文)。

我对 Maven(以及 Java/Keycloak 开发)非常陌生,所以我不确定在哪里挖掘来追踪这一点。

有人有任何指点吗?

package com.mumba.cloud.authenticator;

import org.keycloak.authentication.authenticators.browser.UsernamePasswordForm;

public class LockedUserAuthenticator extends UsernamePasswordForm  {
    @Override
    protected String tempDisabledError() {
        return "ACCOUNT …
Run Code Online (Sandbox Code Playgroud)

java maven wildfly keycloak

3
推荐指数
1
解决办法
1655
查看次数

标签 统计

java ×1

keycloak ×1

maven ×1

wildfly ×1