Description
Before reporting an issue
- I have read and understood the above terms for submitting issues, and I understand that my issue may be closed without action if I do not follow them.
Area
dependencies
Describe the bug
I'm using the IDELauncher class with the server's pom.xml to start Keycloak in the Eclipse IDE.
This setup was working fine with previous Keycloak versions.
However, since Keycloak 26.0.0, it no longer works out of the box.
The startup process fails with two ClassNotFoundException errors:
- oracle.jdbc.xa.OracleXADataSource
- oracle.jdbc.datasource.impl.OracleDataSource
Solution:
To resolve this, I added the following dependency to the pom.xml file:
<dependency>
<groupId>com.oracle.database.jdbc</groupId>
<artifactId>ojdbc8</artifactId>
</dependency>
After including this, the ClassNotFoundException errors were resolved, and Keycloak 26.0.0 starts as expected.
Version
26.0.0
Regression
- The issue is a regression
Expected behavior
Keycloak should start in IDE without Oracle jdbc driver since only H2 is used.
Actual behavior
Keycloak does not start in IDE
How to Reproduce?
Start Keycloak 26.0.0 in Eclipse IDE.
Anything else?
Full log:
Press [�[94me�[39m] to edit command line args (currently '�[32mstart-dev�[39m'), [�[94mh�[39m] for more options>
�[94mTests paused�[39m
Press [�[94me�[39m] to edit command line args (currently '�[32mstart-dev�[39m'), [�[94mr�[39m] to resume testing, [�[94mh�[39m] for more options>
Press [�[94me�[39m] to edit command line args (currently '�[32mstart-dev�[39m'), [�[94mr�[39m] to resume testing, [�[94mo�[39m] Toggle test output, [�[94mh�[39m] for more options>
2024-10-07 08:24:10,375 WARN [io.quarkus.deployment.configuration] (main) Configuration property 'quarkus.package.type' has been deprecated and replaced by: [quarkus.package.jar.enabled, quarkus.package.jar.type, quarkus.native.enabled, quarkus.native.sources-only]
2024-10-07 08:24:10,375 WARN [io.quarkus.deployment.configuration] (main) Configuration property 'quarkus.package.user-providers-directory' has been deprecated and replaced by: [quarkus.package.jar.user-providers-directory]
2024-10-07 08:24:10,382 WARN [io.quarkus.deployment.configuration] (main) Configuration property 'quarkus.package.type' has been deprecated and replaced by: [quarkus.package.jar.enabled, quarkus.package.jar.type, quarkus.native.enabled, quarkus.native.sources-only]
2024-10-07 08:24:10,383 WARN [io.quarkus.deployment.configuration] (main) Configuration property 'quarkus.package.user-providers-directory' has been deprecated and replaced by: [quarkus.package.jar.user-providers-directory]
2024-10-07 08:24:10,389 WARN [io.quarkus.deployment.configuration] (main) Configuration property 'quarkus.package.type' has been deprecated and replaced by: [quarkus.package.jar.enabled, quarkus.package.jar.type, quarkus.native.enabled, quarkus.native.sources-only]
2024-10-07 08:24:10,389 WARN [io.quarkus.deployment.configuration] (main) Configuration property 'quarkus.package.user-providers-directory' has been deprecated and replaced by: [quarkus.package.jar.user-providers-directory]
2024-10-07 08:24:10,410 WARN [io.quarkus.deployment.configuration] (main) Configuration property 'quarkus.package.type' has been deprecated and replaced by: [quarkus.package.jar.enabled, quarkus.package.jar.type, quarkus.native.enabled, quarkus.native.sources-only]
2024-10-07 08:24:10,410 WARN [io.quarkus.deployment.configuration] (main) Configuration property 'quarkus.package.user-providers-directory' has been deprecated and replaced by: [quarkus.package.jar.user-providers-directory]
2024-10-07 08:24:12,797 WARN [io.quarkus.deployment.steps.RegisterForReflectionBuildStep] (build-46) Failed to load Class oracle.jdbc.xa.OracleXADataSource: java.lang.ClassNotFoundException: oracle.jdbc.xa.OracleXADataSource
at io.quarkus.launcher.RuntimeLaunchClassLoader.findClass(RuntimeLaunchClassLoader.java:25)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:593)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526)
at io.quarkus.bootstrap.classloading.QuarkusClassLoader.loadClass(QuarkusClassLoader.java:533)
at io.quarkus.bootstrap.classloading.QuarkusClassLoader.loadClass(QuarkusClassLoader.java:481)
at io.quarkus.bootstrap.classloading.QuarkusClassLoader.loadClass(QuarkusClassLoader.java:533)
at io.quarkus.bootstrap.classloading.QuarkusClassLoader.loadClass(QuarkusClassLoader.java:481)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:534)
at java.base/java.lang.Class.forName(Class.java:513)
at io.quarkus.deployment.steps.RegisterForReflectionBuildStep.registerClass(RegisterForReflectionBuildStep.java:132)
at io.quarkus.deployment.steps.RegisterForReflectionBuildStep.build(RegisterForReflectionBuildStep.java:85)
at java.base/java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:733)
at io.quarkus.deployment.ExtensionLoader$3.execute(ExtensionLoader.java:856)
at io.quarkus.builder.BuildContext.run(BuildContext.java:256)
at org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18)
at org.jboss.threads.EnhancedQueueExecutor$Task.doRunWith(EnhancedQueueExecutor.java:2516)
at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2495)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1521)
at java.base/java.lang.Thread.run(Thread.java:1583)
at org.jboss.threads.JBossThread.run(JBossThread.java:483)
2024-10-07 08:24:12,802 WARN [io.quarkus.deployment.steps.RegisterForReflectionBuildStep] (build-46) Failed to load Class oracle.jdbc.datasource.impl.OracleDataSource: java.lang.ClassNotFoundException: oracle.jdbc.datasource.impl.OracleDataSource
at io.quarkus.launcher.RuntimeLaunchClassLoader.findClass(RuntimeLaunchClassLoader.java:25)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:593)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526)
at io.quarkus.bootstrap.classloading.QuarkusClassLoader.loadClass(QuarkusClassLoader.java:533)
at io.quarkus.bootstrap.classloading.QuarkusClassLoader.loadClass(QuarkusClassLoader.java:481)
at io.quarkus.bootstrap.classloading.QuarkusClassLoader.loadClass(QuarkusClassLoader.java:533)
at io.quarkus.bootstrap.classloading.QuarkusClassLoader.loadClass(QuarkusClassLoader.java:481)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:534)
at java.base/java.lang.Class.forName(Class.java:513)
at io.quarkus.deployment.steps.RegisterForReflectionBuildStep.registerClass(RegisterForReflectionBuildStep.java:132)
at io.quarkus.deployment.steps.RegisterForReflectionBuildStep.build(RegisterForReflectionBuildStep.java:85)
at java.base/java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:733)
at io.quarkus.deployment.ExtensionLoader$3.execute(ExtensionLoader.java:856)
at io.quarkus.builder.BuildContext.run(BuildContext.java:256)
at org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18)
at org.jboss.threads.EnhancedQueueExecutor$Task.doRunWith(EnhancedQueueExecutor.java:2516)
at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2495)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1521)
at java.base/java.lang.Thread.run(Thread.java:1583)
at org.jboss.threads.JBossThread.run(JBossThread.java:483)
2024-10-07 08:24:14,620 WARN [io.quarkus.deployment.steps.ClassTransformingBuildStep] (build-50) Could not remove configured resources from the following artifacts as they were not found in the model: {com.oracle.database.jdbc:ojdbc11::jar=[oracle/nativeimage/CharacterSetFeature.class]}
2024-10-07 08:24:18,073 WARN [org.keycloak.quarkus.runtime.cli.Picocli] (Quarkus Main Thread) The following run time options were found, but will be ignored during build time: kc.spi-hostname-v2-hostname, kc.spi-theme-folder-dir
2024-10-07 08:24:18,490 INFO [io.quarkus.deployment.dev.IsolatedDevModeMain] (main) Attempting to start live reload endpoint to recover from previous Quarkus startup failure
ERROR: Unexpected error when starting the server in (development) mode
ERROR: Failed to start quarkus
ERROR: oracle/sql/CharacterSet
ERROR: oracle.sql.CharacterSet
For more details run the same command passing the '--verbose' option. Also you can use '--help' to see the details about the usage of the particular command.
Activity