我目前正在尝试制作一个SMS Authenticator module与Keycloak配合使用。
我遵循了所有步骤,并且能够成功将Jar文件部署到Keycloak部署文件夹中。
当我开始使用它时,出现此错误:
18:46:36,580 ERROR [org.keycloak.services.error.KeycloakErrorHandler] (default task-1) Uncaught server error: java.lang.NoClassDefFoundError: com/google/i18n/phonenumbers/NumberParseException
我检查了SMS授权者的POM.XML,发现了这一点:
<dependency>
<groupId>com.googlecode.libphonenumber</groupId>
<artifactId>libphonenumber</artifactId>
<version>${version.libphonenumber}</version>
<scope>provided</scope>
</dependency>
因此,删除了<scope>Provided</scope>
,运行mvn clean deploy
而且有效。我将其标记为胜利,但我很好奇授权者的作者为什么使用<scope>Provided</scope>
。
是否有适当的方法/正确的方法,例如直接将jar文件添加到keycloak / wildfly服务器中并使之可用于所有模块?