[keycloak-user] Package custom REST endpoint in EAR/WAR

Ulrik Lejon ulrik.lejon at mollyware.se
Tue May 2 06:14:50 EDT 2017


According to the documentation it should be possible to drop an ear/war
file in the keycloak standalone/deployment folder.

I created my own rest endpoint in this repo
<https://github.com/ulejon/keycloak-custom-rest-provider-ear> to try this
out. However, when I deploy it I get the below errors. What am I doing
wrong? Has Anyone successfully packaged custom keycloak code in an ear or
war?

20:23:09,192 INFO  [org.jboss.as.server.deployment] (MSC service
thread 1-4) WFLYSRV0027: Starting deployment of "custom-ear.ear"
(runtime-name: "custom-ear.ear")
20:23:10,344 WARN  [org.jboss.as.server.deployment] (MSC service
thread 1-2) WFLYSRV0059: Class Path entry provider-1.0-SNAPSHOT.jar in
/content/custom-ear.ear  does not point to a valid jar for a
Class-Path reference.
20:23:10,345 WARN  [org.jboss.as.server.deployment] (MSC service
thread 1-2) WFLYSRV0059: Class Path entry
lib/keycloak-core-2.5.4.Final.jar in /content/custom-ear.ear  does not
point to a valid jar for a Class-Path reference.
20:23:10,345 WARN  [org.jboss.as.server.deployment] (MSC service
thread 1-2) WFLYSRV0059: Class Path entry
lib/keycloak-common-2.5.4.Final.jar in /content/custom-ear.ear  does
not point to a valid jar for a Class-Path reference.
20:23:10,345 WARN  [org.jboss.as.server.deployment] (MSC service
thread 1-2) WFLYSRV0059: Class Path entry lib/bcprov-jdk15on-1.52.jar
in /content/custom-ear.ear  does not point to a valid jar for a
Class-Path reference.
20:23:10,346 WARN  [org.jboss.as.server.deployment] (MSC service
thread 1-2) WFLYSRV0059: Class Path entry lib/bcpkix-jdk15on-1.52.jar
in /content/custom-ear.ear  does not point to a valid jar for a
Class-Path reference.
20:23:10,346 WARN  [org.jboss.as.server.deployment] (MSC service
thread 1-2) WFLYSRV0059: Class Path entry lib/jackson-core-2.5.4.jar
in /content/custom-ear.ear  does not point to a valid jar for a
Class-Path reference.
20:23:10,347 WARN  [org.jboss.as.server.deployment] (MSC service
thread 1-2) WFLYSRV0059: Class Path entry
lib/jackson-databind-2.5.4.jar in /content/custom-ear.ear  does not
point to a valid jar for a Class-Path reference.
20:23:10,347 WARN  [org.jboss.as.server.deployment] (MSC service
thread 1-2) WFLYSRV0059: Class Path entry
lib/keycloak-services-2.5.4.Final.jar in /content/custom-ear.ear  does
not point to a valid jar for a Class-Path reference.
20:23:10,347 WARN  [org.jboss.as.server.deployment] (MSC service
thread 1-2) WFLYSRV0059: Class Path entry lib/javax.mail-api-1.5.5.jar
in /content/custom-ear.ear  does not point to a valid jar for a
Class-Path reference.
20:23:10,348 WARN  [org.jboss.as.server.deployment] (MSC service
thread 1-2) WFLYSRV0059: Class Path entry
lib/jboss-servlet-api_3.0_spec-1.0.2.Final.jar in
/content/custom-ear.ear  does not point to a valid jar for a
Class-Path reference.
20:23:10,348 WARN  [org.jboss.as.server.deployment] (MSC service
thread 1-2) WFLYSRV0059: Class Path entry lib/twitter4j-core-4.0.4.jar
in /content/custom-ear.ear  does not point to a valid jar for a
Class-Path reference.
20:23:10,348 WARN  [org.jboss.as.server.deployment] (MSC service
thread 1-2) WFLYSRV0059: Class Path entry
lib/resteasy-jaxrs-3.0.14.Final.jar in /content/custom-ear.ear  does
not point to a valid jar for a Class-Path reference.
20:23:10,349 WARN  [org.jboss.as.server.deployment] (MSC service
thread 1-2) WFLYSRV0059: Class Path entry
lib/jboss-annotations-api_1.2_spec-1.0.0.Final.jar in
/content/custom-ear.ear  does not point to a valid jar for a
Class-Path reference.
20:23:10,349 WARN  [org.jboss.as.server.deployment] (MSC service
thread 1-2) WFLYSRV0059: Class Path entry lib/activation-1.1.1.jar in
/content/custom-ear.ear  does not point to a valid jar for a
Class-Path reference.
20:23:10,350 WARN  [org.jboss.as.server.deployment] (MSC service
thread 1-2) WFLYSRV0059: Class Path entry lib/commons-io-2.1.jar in
/content/custom-ear.ear  does not point to a valid jar for a
Class-Path reference.
20:23:10,351 WARN  [org.jboss.as.server.deployment] (MSC service
thread 1-2) WFLYSRV0059: Class Path entry lib/jcip-annotations-1.0.jar
in /content/custom-ear.ear  does not point to a valid jar for a
Class-Path reference.
20:23:10,352 WARN  [org.jboss.as.server.deployment] (MSC service
thread 1-2) WFLYSRV0059: Class Path entry
lib/jboss-transaction-api_1.2_spec-1.0.0.Final.jar in
/content/custom-ear.ear  does not point to a valid jar for a
Class-Path reference.
20:23:10,352 WARN  [org.jboss.as.server.deployment] (MSC service
thread 1-2) WFLYSRV0059: Class Path entry
lib/resteasy-multipart-provider-3.0.14.Final.jar in
/content/custom-ear.ear  does not point to a valid jar for a
Class-Path reference.
20:23:10,353 WARN  [org.jboss.as.server.deployment] (MSC service
thread 1-2) WFLYSRV0059: Class Path entry
lib/resteasy-client-3.0.14.Final.jar in /content/custom-ear.ear  does
not point to a valid jar for a Class-Path reference.
20:23:10,353 WARN  [org.jboss.as.server.deployment] (MSC service
thread 1-2) WFLYSRV0059: Class Path entry
lib/resteasy-jaxb-provider-3.0.14.Final.jar in /content/custom-ear.ear
 does not point to a valid jar for a Class-Path reference.
20:23:10,354 WARN  [org.jboss.as.server.deployment] (MSC service
thread 1-2) WFLYSRV0059: Class Path entry lib/jaxb-impl-2.2.7.jar in
/content/custom-ear.ear  does not point to a valid jar for a
Class-Path reference.
20:23:10,354 WARN  [org.jboss.as.server.deployment] (MSC service
thread 1-2) WFLYSRV0059: Class Path entry lib/jaxb-core-2.2.7.jar in
/content/custom-ear.ear  does not point to a valid jar for a
Class-Path reference.
20:23:10,354 WARN  [org.jboss.as.server.deployment] (MSC service
thread 1-2) WFLYSRV0059: Class Path entry lib/jaxb-api-2.2.7.jar in
/content/custom-ear.ear  does not point to a valid jar for a
Class-Path reference.
20:23:10,355 WARN  [org.jboss.as.server.deployment] (MSC service
thread 1-2) WFLYSRV0059: Class Path entry
lib/istack-commons-runtime-2.16.jar in /content/custom-ear.ear  does
not point to a valid jar for a Class-Path reference.
20:23:10,355 WARN  [org.jboss.as.server.deployment] (MSC service
thread 1-2) WFLYSRV0059: Class Path entry lib/FastInfoset-1.2.12.jar
in /content/custom-ear.ear  does not point to a valid jar for a
Class-Path reference.
20:23:10,355 WARN  [org.jboss.as.server.deployment] (MSC service
thread 1-2) WFLYSRV0059: Class Path entry lib/jsr173_api-1.0.jar in
/content/custom-ear.ear  does not point to a valid jar for a
Class-Path reference.
20:23:10,356 WARN  [org.jboss.as.server.deployment] (MSC service
thread 1-2) WFLYSRV0059: Class Path entry lib/mail-1.5.0-b01.jar in
/content/custom-ear.ear  does not point to a valid jar for a
Class-Path reference.
20:23:10,356 WARN  [org.jboss.as.server.deployment] (MSC service
thread 1-2) WFLYSRV0059: Class Path entry lib/apache-mime4j-0.6.jar in
/content/custom-ear.ear  does not point to a valid jar for a
Class-Path reference.
20:23:10,356 WARN  [org.jboss.as.server.deployment] (MSC service
thread 1-2) WFLYSRV0059: Class Path entry
lib/jackson-annotations-2.5.4.jar in /content/custom-ear.ear  does not
point to a valid jar for a Class-Path reference.
20:23:10,356 WARN  [org.jboss.as.server.deployment] (MSC service
thread 1-2) WFLYSRV0059: Class Path entry lib/javase-3.2.1.jar in
/content/custom-ear.ear  does not point to a valid jar for a
Class-Path reference.
20:23:10,357 WARN  [org.jboss.as.server.deployment] (MSC service
thread 1-2) WFLYSRV0059: Class Path entry lib/core-3.2.1.jar in
/content/custom-ear.ear  does not point to a valid jar for a
Class-Path reference.
20:23:10,357 WARN  [org.jboss.as.server.deployment] (MSC service
thread 1-2) WFLYSRV0059: Class Path entry lib/jcommander-1.48.jar in
/content/custom-ear.ear  does not point to a valid jar for a
Class-Path reference.
20:23:10,357 WARN  [org.jboss.as.server.deployment] (MSC service
thread 1-2) WFLYSRV0059: Class Path entry
lib/keycloak-server-spi-2.5.4.Final.jar in /content/custom-ear.ear
does not point to a valid jar for a Class-Path reference.
20:23:10,357 WARN  [org.jboss.as.server.deployment] (MSC service
thread 1-2) WFLYSRV0059: Class Path entry
lib/keycloak-server-spi-private-2.5.4.Final.jar in
/content/custom-ear.ear  does not point to a valid jar for a
Class-Path reference.
20:23:10,357 WARN  [org.jboss.as.server.deployment] (MSC service
thread 1-2) WFLYSRV0059: Class Path entry
lib/jboss-logging-3.3.0.Final.jar in /content/custom-ear.ear  does not
point to a valid jar for a Class-Path reference.
20:23:10,357 WARN  [org.jboss.as.server.deployment] (MSC service
thread 1-2) WFLYSRV0059: Class Path entry
lib/jboss-jaxrs-api_2.0_spec-1.0.0.Final.jar in
/content/custom-ear.ear  does not point to a valid jar for a
Class-Path reference.
20:23:10,357 WARN  [org.jboss.as.server.deployment] (MSC service
thread 1-2) WFLYSRV0059: Class Path entry lib/httpclient-4.3.6.jar in
/content/custom-ear.ear  does not point to a valid jar for a
Class-Path reference.
20:23:10,358 WARN  [org.jboss.as.server.deployment] (MSC service
thread 1-2) WFLYSRV0059: Class Path entry lib/httpcore-4.3.3.jar in
/content/custom-ear.ear  does not point to a valid jar for a
Class-Path reference.
20:23:10,358 WARN  [org.jboss.as.server.deployment] (MSC service
thread 1-2) WFLYSRV0059: Class Path entry
lib/commons-logging-1.1.3.jar in /content/custom-ear.ear  does not
point to a valid jar for a Class-Path reference.
20:23:10,358 WARN  [org.jboss.as.server.deployment] (MSC service
thread 1-2) WFLYSRV0059: Class Path entry lib/commons-codec-1.6.jar in
/content/custom-ear.ear  does not point to a valid jar for a
Class-Path reference.
20:23:10,368 WARN  [org.jboss.as.server.deployment] (MSC service
thread 1-2) WFLYSRV0059: Class Path entry jaxb-api.jar in
/content/custom-ear.ear/lib/jaxb-impl-2.2.7.jar  does not point to a
valid jar for a Class-Path reference.
20:23:10,368 WARN  [org.jboss.as.server.deployment] (MSC service
thread 1-2) WFLYSRV0059: Class Path entry jaxb-core.jar in
/content/custom-ear.ear/lib/jaxb-impl-2.2.7.jar  does not point to a
valid jar for a Class-Path reference.
20:23:10,437 WARN  [org.jboss.as.server.deployment] (MSC service
thread 1-2) WFLYSRV0059: Class Path entry jaxb-api.jar in
/content/custom-ear.ear/lib/jaxb-core-2.2.7.jar  does not point to a
valid jar for a Class-Path reference.
20:23:10,439 INFO  [org.jboss.as.server.deployment] (MSC service
thread 1-2) WFLYSRV0207: Starting subdeployment (runtime-name:
"provider-1.0-SNAPSHOT.jar")
20:23:10,619 INFO
[org.keycloak.subsystem.server.extension.KeycloakProviderDeploymentProcessor]
(MSC service thread 1-6) Deploying Keycloak provider: {0}
20:23:10,625 ERROR [org.jboss.msc.service.fail] (MSC service thread
1-6) MSC000001: Failed to start service
jboss.deployment.subunit."custom-ear.ear"."provider-1.0-SNAPSHOT.jar".POST_MODULE:
org.jboss.msc.service.StartException in service
jboss.deployment.subunit."custom-ear.ear"."provider-1.0-SNAPSHOT.jar".POST_MODULE:
WFLYSRV0153: Failed to process phase POST_MODULE of subdeployment
"provider-1.0-SNAPSHOT.jar" of deployment "custom-ear.ear"
    at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:154)
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948)
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.util.ServiceConfigurationError:
org.keycloak.email.EmailSenderProviderFactory: Provider
org.keycloak.email.DefaultEmailSenderProviderFactory not a subtype
    at java.util.ServiceLoader.fail(ServiceLoader.java:239)
    at java.util.ServiceLoader.access$300(ServiceLoader.java:185)
    at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:376)
    at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
    at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
    at org.keycloak.provider.DefaultProviderLoader.load(DefaultProviderLoader.java:47)
    at org.keycloak.provider.ProviderManager.load(ProviderManager.java:93)
    at org.keycloak.services.DefaultKeycloakSessionFactory.loadFactories(DefaultKeycloakSessionFactory.java:206)
    at org.keycloak.services.DefaultKeycloakSessionFactory.deploy(DefaultKeycloakSessionFactory.java:112)
    at org.keycloak.provider.ProviderManagerRegistry.deploy(ProviderManagerRegistry.java:42)
    at org.keycloak.subsystem.server.extension.KeycloakProviderDeploymentProcessor.deploy(KeycloakProviderDeploymentProcessor.java:54)
    at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:147)
    ... 5 more

20:23:10,635 ERROR [org.jboss.as.controller.management-operation]
(DeploymentScanner-threads - 1) WFLYCTL0013: Operation ("deploy")
failed - address: ([("deployment" => "custom-ear.ear")]) - failure
description: {"WFLYCTL0080: Failed services" =>
{"jboss.deployment.subunit.\"custom-ear.ear\".\"provider-1.0-SNAPSHOT.jar\".POST_MODULE"
=> "org.jboss.msc.service.StartException in service
jboss.deployment.subunit.\"custom-ear.ear\".\"provider-1.0-SNAPSHOT.jar\".POST_MODULE:
WFLYSRV0153: Failed to process phase POST_MODULE of subdeployment
\"provider-1.0-SNAPSHOT.jar\" of deployment \"custom-ear.ear\"
    Caused by: java.util.ServiceConfigurationError:
org.keycloak.email.EmailSenderProviderFactory: Provider
org.keycloak.email.DefaultEmailSenderProviderFactory not a subtype"}}
20:23:10,698 ERROR [stderr] (DeploymentScanner-threads - 1)
java.io.IOException: Mount point not found
20:23:10,699 ERROR [stderr] (DeploymentScanner-threads - 1)     at
sun.nio.fs.LinuxFileStore.findMountEntry(LinuxFileStore.java:91)
20:23:10,699 ERROR [stderr] (DeploymentScanner-threads - 1)     at
sun.nio.fs.UnixFileStore.<init>(UnixFileStore.java:65)
20:23:10,699 ERROR [stderr] (DeploymentScanner-threads - 1)     at
sun.nio.fs.LinuxFileStore.<init>(LinuxFileStore.java:44)
20:23:10,700 ERROR [stderr] (DeploymentScanner-threads - 1)     at
sun.nio.fs.LinuxFileSystemProvider.getFileStore(LinuxFileSystemProvider.java:51)
20:23:10,700 ERROR [stderr] (DeploymentScanner-threads - 1)     at
sun.nio.fs.LinuxFileSystemProvider.getFileStore(LinuxFileSystemProvider.java:39)
20:23:10,701 ERROR [stderr] (DeploymentScanner-threads - 1)     at
sun.nio.fs.UnixFileSystemProvider.getFileStore(UnixFileSystemProvider.java:368)
20:23:10,702 ERROR [stderr] (DeploymentScanner-threads - 1)     at
java.nio.file.Files.getFileStore(Files.java:1461)
20:23:10,702 ERROR [stderr] (DeploymentScanner-threads - 1)     at
org.jboss.as.controller.persistence.FilePersistenceUtils.getPosixAttributes(FilePersistenceUtils.java:129)
20:23:10,702 ERROR [stderr] (DeploymentScanner-threads - 1)     at
org.jboss.as.controller.persistence.FilePersistenceUtils.createTempFileWithAttributes(FilePersistenceUtils.java:117)
20:23:10,703 ERROR [stderr] (DeploymentScanner-threads - 1)     at
org.jboss.as.controller.persistence.FilePersistenceUtils.writeToTempFile(FilePersistenceUtils.java:104)
20:23:10,703 ERROR [stderr] (DeploymentScanner-threads - 1)     at
org.jboss.as.controller.persistence.ConfigurationFilePersistenceResource.doCommit(ConfigurationFilePersistenceResource.java:55)
20:23:10,703 ERROR [stderr] (DeploymentScanner-threads - 1)     at
org.jboss.as.controller.persistence.AbstractFilePersistenceResource.commit(AbstractFilePersistenceResource.java:58)
20:23:10,704 ERROR [stderr] (DeploymentScanner-threads - 1)     at
org.jboss.as.controller.ModelControllerImpl$4.commit(ModelControllerImpl.java:781)
20:23:10,704 ERROR [stderr] (DeploymentScanner-threads - 1)     at
org.jboss.as.controller.AbstractOperationContext.executeDoneStage(AbstractOperationContext.java:743)
20:23:10,704 ERROR [stderr] (DeploymentScanner-threads - 1)     at
org.jboss.as.controller.AbstractOperationContext.processStages(AbstractOperationContext.java:680)
20:23:10,704 ERROR [stderr] (DeploymentScanner-threads - 1)     at
org.jboss.as.controller.AbstractOperationContext.executeOperation(AbstractOperationContext.java:370)
20:23:10,705 ERROR [stderr] (DeploymentScanner-threads - 1)     at
org.jboss.as.controller.OperationContextImpl.executeOperation(OperationContextImpl.java:1344)
20:23:10,705 ERROR [stderr] (DeploymentScanner-threads - 1)     at
org.jboss.as.controller.ModelControllerImpl.internalExecute(ModelControllerImpl.java:392)
20:23:10,705 ERROR [stderr] (DeploymentScanner-threads - 1)     at
org.jboss.as.controller.ModelControllerImpl.execute(ModelControllerImpl.java:217)
20:23:10,706 ERROR [stderr] (DeploymentScanner-threads - 1)     at
org.jboss.as.controller.ModelControllerImpl$3$1$1.run(ModelControllerImpl.java:748)
20:23:10,707 ERROR [stderr] (DeploymentScanner-threads - 1)     at
org.jboss.as.controller.ModelControllerImpl$3$1$1.run(ModelControllerImpl.java:742)
20:23:10,707 ERROR [stderr] (DeploymentScanner-threads - 1)     at
java.security.AccessController.doPrivileged(Native Method)
20:23:10,707 ERROR [stderr] (DeploymentScanner-threads - 1)     at
org.jboss.as.controller.ModelControllerImpl$3$1.run(ModelControllerImpl.java:742)
20:23:10,707 ERROR [stderr] (DeploymentScanner-threads - 1)     at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
20:23:10,708 ERROR [stderr] (DeploymentScanner-threads - 1)     at
java.util.concurrent.FutureTask.run(FutureTask.java:266)
20:23:10,708 ERROR [stderr] (DeploymentScanner-threads - 1)     at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
20:23:10,709 ERROR [stderr] (DeploymentScanner-threads - 1)     at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
20:23:10,709 ERROR [stderr] (DeploymentScanner-threads - 1)     at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
20:23:10,709 ERROR [stderr] (DeploymentScanner-threads - 1)     at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
20:23:10,710 ERROR [stderr] (DeploymentScanner-threads - 1)     at
java.lang.Thread.run(Thread.java:745)
20:23:10,710 ERROR [stderr] (DeploymentScanner-threads - 1)     at
org.jboss.threads.JBossThread.run(JBossThread.java:320)
20:23:10,713 INFO  [org.jboss.as.server] (DeploymentScanner-threads -
1) WFLYSRV0010: Deployed "custom-ear.ear" (runtime-name :
"custom-ear.ear")
20:23:10,714 INFO  [org.jboss.as.controller]
(DeploymentScanner-threads - 1) WFLYCTL0183: Service status report
WFLYCTL0186:   Services which failed to start:      service
jboss.deployment.subunit."custom-ear.ear"."provider-1.0-SNAPSHOT.jar".POST_MODULE:
org.jboss.msc.service.StartException in service
jboss.deployment.subunit."custom-ear.ear"."provider-1.0-SNAPSHOT.jar".POST_MODULE:
WFLYSRV0153: Failed to process phase POST_MODULE of subdeployment
"provider-1.0-SNAPSHOT.jar" of deployment "custom-ear.ear"


More information about the keycloak-user mailing list