Keycloak Twilio NoClassDefFoundError
Keycloak Twilio NoClassDefFoundError
我正在尝试将 Twilio 与 Keycloak 一起使用,但是我遇到了这个错误:
14:47:58,803 ERROR [org.keycloak.services.error.KeycloakErrorHandler] (default task-1) Uncaught server error: java.lang.NoClassDefFoundError: com/twilio/Twilio
at deployment.keycloakauthenticator-1.0-SNAPSHOT.jar//com.gitlab.name.keycloakauthenticator.rest.TwilioProvider.<init>(TwilioProvider.java:13)
at deployment.keycloakauthenticator-1.0-SNAPSHOT.jar//com.gitlab.name.keycloakauthenticator.PhoneVerificationRestProvider.getResource(PhoneVerificationRestProvider.java:17)
at org.keycloak.keycloak-services@13.0.1//org.keycloak.services.resources.RealmsResource.resolveRealmExtension(RealmsResource.java:283)
....
这是我使用 Twilio 的 pom:
<dependency>
<groupId>com.twilio.sdk</groupId>
<artifactId>twilio</artifactId>
<version>8.14.0</version>
</dependency>
更新:
我试图将它添加到 jar 插件中,但我遇到了这个不是很有用的错误:
15:16:03,106 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-3) MSC000001: Failed to start service jboss.module.service."deployment.keycloakauthenticator-1.0-SNAPSHOT.jar".main: org.jboss.msc.service.StartException in service jboss.module.service."deployment.keycloakauthenticator-1.0-SNAPSHOT.jar".main: WFLYSRV0179: Failed to load module: deployment.keycloakauthenticator-1.0-SNAPSHOT.jar
at org.jboss.as.server@15.0.1.Final//org.jboss.as.server.moduleservice.ModuleLoadService.start(ModuleLoadService.java:116)
at org.jboss.msc@1.4.12.Final//org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1739)
at org.jboss.msc@1.4.12.Final//org.jboss.msc.service.ServiceControllerImpl$StartTask.execute(ServiceControllerImpl.java:1701)
at org.jboss.msc@1.4.12.Final//org.jboss.msc.service.ServiceControllerImpl$ControllerTask.run(ServiceControllerImpl.java:1559)
at org.jboss.threads@2.4.0.Final//org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1990)
at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377)
at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: org.jboss.modules.ModuleNotFoundException: com.twilio.sdk.twilio
at org.jboss.modules.Module.addPaths(Module.java:1288)
at org.jboss.modules.Module.link(Module.java:1644)
at org.jboss.modules.Module.relinkIfNecessary(Module.java:1672)
at org.jboss.modules.ModuleLoader.loadModule(ModuleLoader.java:303)
at org.jboss.modules.ModuleLoader.loadModule(ModuleLoader.java:287)
at org.jboss.as.server@15.0.1.Final//org.jboss.as.server.moduleservice.ModuleLoadService.start(ModuleLoadService.java:93)
... 8 more
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.2.0</version>
<configuration>
<archive>
<manifestEntries>
<Dependencies>org.keycloak.keycloak-services, com.twilio.sdk.twilio</Dependencies>
</manifestEntries>
</archive>
</configuration>
</plugin>
</plugins>
</build>
我试过 com.twilio.sdk、com.twilio、com.twilio.Twilio、com.twilio.sdk.twilio,但没有...
我用maven shade插件解决了:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.2.4</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
</plugin>
我正在尝试将 Twilio 与 Keycloak 一起使用,但是我遇到了这个错误:
14:47:58,803 ERROR [org.keycloak.services.error.KeycloakErrorHandler] (default task-1) Uncaught server error: java.lang.NoClassDefFoundError: com/twilio/Twilio
at deployment.keycloakauthenticator-1.0-SNAPSHOT.jar//com.gitlab.name.keycloakauthenticator.rest.TwilioProvider.<init>(TwilioProvider.java:13)
at deployment.keycloakauthenticator-1.0-SNAPSHOT.jar//com.gitlab.name.keycloakauthenticator.PhoneVerificationRestProvider.getResource(PhoneVerificationRestProvider.java:17)
at org.keycloak.keycloak-services@13.0.1//org.keycloak.services.resources.RealmsResource.resolveRealmExtension(RealmsResource.java:283)
....
这是我使用 Twilio 的 pom:
<dependency>
<groupId>com.twilio.sdk</groupId>
<artifactId>twilio</artifactId>
<version>8.14.0</version>
</dependency>
更新:
我试图将它添加到 jar 插件中,但我遇到了这个不是很有用的错误:
15:16:03,106 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-3) MSC000001: Failed to start service jboss.module.service."deployment.keycloakauthenticator-1.0-SNAPSHOT.jar".main: org.jboss.msc.service.StartException in service jboss.module.service."deployment.keycloakauthenticator-1.0-SNAPSHOT.jar".main: WFLYSRV0179: Failed to load module: deployment.keycloakauthenticator-1.0-SNAPSHOT.jar
at org.jboss.as.server@15.0.1.Final//org.jboss.as.server.moduleservice.ModuleLoadService.start(ModuleLoadService.java:116)
at org.jboss.msc@1.4.12.Final//org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1739)
at org.jboss.msc@1.4.12.Final//org.jboss.msc.service.ServiceControllerImpl$StartTask.execute(ServiceControllerImpl.java:1701)
at org.jboss.msc@1.4.12.Final//org.jboss.msc.service.ServiceControllerImpl$ControllerTask.run(ServiceControllerImpl.java:1559)
at org.jboss.threads@2.4.0.Final//org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1990)
at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377)
at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: org.jboss.modules.ModuleNotFoundException: com.twilio.sdk.twilio
at org.jboss.modules.Module.addPaths(Module.java:1288)
at org.jboss.modules.Module.link(Module.java:1644)
at org.jboss.modules.Module.relinkIfNecessary(Module.java:1672)
at org.jboss.modules.ModuleLoader.loadModule(ModuleLoader.java:303)
at org.jboss.modules.ModuleLoader.loadModule(ModuleLoader.java:287)
at org.jboss.as.server@15.0.1.Final//org.jboss.as.server.moduleservice.ModuleLoadService.start(ModuleLoadService.java:93)
... 8 more
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.2.0</version>
<configuration>
<archive>
<manifestEntries>
<Dependencies>org.keycloak.keycloak-services, com.twilio.sdk.twilio</Dependencies>
</manifestEntries>
</archive>
</configuration>
</plugin>
</plugins>
</build>
我试过 com.twilio.sdk、com.twilio、com.twilio.Twilio、com.twilio.sdk.twilio,但没有...
我用maven shade插件解决了:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.2.4</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
</plugin>