I am using the Derby database with pax-jdbc. I am using pax-jdbc version 1.5.6. I'm trying to upgrade Derby from 10.14.2.0 to 10.16.1.1.
I get the following stacktrace:
2023-12-06T10:32:41,650 | ERROR | activator-1-thread-2 | BootFeaturesInstaller | 19 - org.apache.karaf.features.core - 4.4.4 | Error installing boot features
org.apache.karaf.features.internal.util.MultiException: Error restarting bundles:
Activator start error in bundle org.ops4j.pax.jdbc.derby [188].
at org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:1049) ~[?:?]
at org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:1069) ~[?:?]
at org.apache.karaf.features.internal.service.FeaturesServiceImpl.lambda$doProvisionInThread$13(FeaturesServiceImpl.java:1004) ~[?:?]
at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) [?:?]
at java.lang.Thread.run(Thread.java:833) [?:?]
Suppressed: org.osgi.framework.BundleException: Activator start error in bundle org.ops4j.pax.jdbc.derby [188].
at org.apache.felix.framework.Felix.activateBundle(Felix.java:2479) ~[?:?]
at org.apache.felix.framework.Felix.startBundle(Felix.java:2335) ~[?:?]
at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:1006) ~[?:?]
at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:992) ~[?:?]
at org.apache.karaf.features.internal.service.BundleInstallSupportImpl.startBundle(BundleInstallSupportImpl.java:165) ~[?:?]
at org.apache.karaf.features.internal.service.FeaturesServiceImpl.startBundle(FeaturesServiceImpl.java:1160) ~[?:?]
at org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:1041) ~[?:?]
at org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:1069) ~[?:?]
at org.apache.karaf.features.internal.service.FeaturesServiceImpl.lambda$doProvisionInThread$13(FeaturesServiceImpl.java:1004) ~[?:?]
at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) [?:?]
at java.lang.Thread.run(Thread.java:833) [?:?]
Caused by: java.lang.NoClassDefFoundError: org/apache/derby/jdbc/ReferenceableDataSource
at org.ops4j.pax.jdbc.derby.impl.Activator.start(Activator.java:30) ~[?:?]
at org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:849) ~[?:?]
at org.apache.felix.framework.Felix.activateBundle(Felix.java:2429) ~[?:?]
... 12 more
Caused by: java.lang.ClassNotFoundException: org.apache.derby.jdbc.ReferenceableDataSource not found by derby [27]
at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1591) ~[?:?]
at org.apache.felix.framework.BundleWiringImpl.access$300(BundleWiringImpl.java:79) ~[?:?]
at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1976) ~[?:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:520) ~[?:?]
at org.apache.felix.framework.BundleWiringImpl.getClassByDelegation(BundleWiringImpl.java:1358) ~[?:?]
at org.apache.felix.framework.BundleWiringImpl.searchImports(BundleWiringImpl.java:1612) ~[?:?]
at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1528) ~[?:?]
at org.apache.felix.framework.BundleWiringImpl.access$300(BundleWiringImpl.java:79) ~[?:?]
at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1976) ~[?:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:520) ~[?:?]
at org.ops4j.pax.jdbc.derby.impl.Activator.start(Activator.java:30) ~[?:?]
at org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:849) ~[?:?]
at org.apache.felix.framework.Felix.activateBundle(Felix.java:2429) ~[?:?]
... 12 more
It seems like the Derby bundle no longer contains the package org.apache.derby.jdbc which pax-jdbc relies on.
Is there a newer version of pax-jdbc that works with newer versions of Derby?
/Bengt