Question

I am working with an application that uses the following technologies: Java, EJB 3, JPA, Websphere, and Oracle. We do not make use of derby at all, however, when I try to deploy the ear to websphere it keeps giving me the following error:

Caused by: java.lang.NoClassDefFoundError: org.apache.derby.jdbc.EmbeddedDriver (initialization failure) at java.lang.J9VMInternals.initialize(J9VMInternals.java:140) at org.apache.derby.jdbc.EmbeddedDataSource.findDriver(Unknown Source) at org.apache.derby.jdbc.EmbeddedDataSource.getConnection(Unknown Source) at org.apache.derby.jdbc.EmbeddedDataSource.getConnection(Unknown Source) at org.apache.derby.jdbc.EmbeddedXADataSource.setupResourceAdapter(Unknown Source) at org.apache.derby.jdbc.EmbeddedXADataSource.getXAConnection(Unknown Source) at com.ibm.ws.rsadapter.spi.InternalGenericDataStoreHelper$1.run(InternalGenericDataStoreHelper.java:1221) at com.ibm.ws.security.util.AccessController.doPrivileged(AccessController.java:118) at com.ibm.ws.rsadapter.spi.InternalGenericDataStoreHelper.getPooledConnection(InternalGenericDataStoreHelper.java:1258) at com.ibm.ws.rsadapter.spi.WSRdbDataSource.getPooledConnection(WSRdbDataSource.java:2308) at com.ibm.ws.rsadapter.spi.WSManagedConnectionFactoryImpl.createManagedConnection(WSManagedConnectionFactoryImpl.java:1598) at com.ibm.ejs.j2c.FreePool.createManagedConnectionWithMCWrapper(FreePool.java:2034) at com.ibm.ejs.j2c.FreePool.createOrWaitForConnection(FreePool.java:1711) at com.ibm.ejs.j2c.PoolManager.reserve(PoolManager.java:2471) at com.ibm.ejs.j2c.ConnectionManager.allocateMCWrapper(ConnectionManager.java:1059) at com.ibm.ejs.j2c.ConnectionManager.allocateConnection(ConnectionManager.java:696) at com.ibm.ws.rsadapter.jdbc.WSJdbcDataSource.getConnection(WSJdbcDataSource.java:668) at com.ibm.ws.rsadapter.jdbc.WSJdbcDataSource.getConnection(WSJdbcDataSource.java:635) at com.ibm.ws.extensionhelper.db.impl.DatabaseHelperImpl$DSWrapper.getConnection(DatabaseHelperImpl.java:1584) at com.ibm.ws.extensionhelper.db.impl.DatabaseHelperImpl.getConnection(DatabaseHelperImpl.java:746) at com.ibm.ws.extensionhelper.db.impl.DatabaseHelperImpl.getConnection(DatabaseHelperImpl.java:1354) at com.ibm.ws.extensionhelper.db.impl.DatabaseHelperImpl.connect(DatabaseHelperImpl.java:544) at com.ibm.ws.extensionhelper.db.impl.DatabaseHelperImpl.initialize(DatabaseHelperImpl.java:497) ... 75 more Caused by: java.lang.SecurityException: sealing violation: package org.apache.derby.impl.store.raw.data is sealed at java.net.URLClassLoader.defineClass(URLClassLoader.java:487) at java.net.URLClassLoader.defineClass(URLClassLoader.java:451) at java.net.URLClassLoader.access$300(URLClassLoader.java:79) at java.net.URLClassLoader$ClassFinder.run(URLClassLoader.java:1034) at java.security.AccessController.doPrivileged(AccessController.java:284) at java.net.URLClassLoader.findClass(URLClassLoader.java:429) at com.ibm.ws.bootstrap.ExtClassLoader.findClass(ExtClassLoader.java:150) at java.lang.ClassLoader.loadClass(ClassLoader.java:653) at com.ibm.ws.bootstrap.ExtClassLoader.loadClass(ExtClassLoader.java:90) at java.lang.ClassLoader.loadClass(ClassLoader.java:619) at java.lang.ClassLoader.defineClassImpl(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:275) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:69) at java.net.URLClassLoader.defineClass(URLClassLoader.java:540) at java.net.URLClassLoader.defineClass(URLClassLoader.java:451) at java.net.URLClassLoader.access$300(URLClassLoader.java:79) at java.net.URLClassLoader$ClassFinder.run(URLClassLoader.java:1034) at java.security.AccessController.doPrivileged(AccessController.java:284) at java.net.URLClassLoader.findClass(URLClassLoader.java:429) at com.ibm.ws.bootstrap.ExtClassLoader.findClass(ExtClassLoader.java:150) at java.lang.ClassLoader.loadClass(ClassLoader.java:653) at com.ibm.ws.bootstrap.ExtClassLoader.loadClass(ExtClassLoader.java:90) at java.lang.ClassLoader.loadClass(ClassLoader.java:619) at java.lang.Class.forNameImpl(Native Method) at java.lang.Class.forName(Class.java:139) at org.apache.derby.impl.services.monitor.BaseMonitor.getImplementations(Unknown Source) at org.apache.derby.impl.services.monitor.BaseMonitor.getDefaultImplementations(Unknown Source) at org.apache.derby.impl.services.monitor.BaseMonitor.runWithState(Unknown Source) at org.apache.derby.impl.services.monitor.FileMonitor.(Unknown Source) at org.apache.derby.iapi.services.monitor.Monitor.startMonitor(Unknown Source) at org.apache.derby.iapi.jdbc.JDBCBoot.boot(Unknown Source) at org.apache.derby.jdbc.EmbeddedDriver.boot(Unknown Source) at org.apache.derby.jdbc.EmbeddedDriver.(Unknown Source) at java.lang.J9VMInternals.initializeImpl(Native Method) at java.lang.J9VMInternals.initialize(J9VMInternals.java:200) at java.lang.Class.forNameImpl(Native Method) at java.lang.Class.forName(Class.java:172) at com.ibm.ws.runtime.component.EJBContainerImpl.timerDBExists(EJBContainerImpl.java:2091) at com.ibm.ws.runtime.component.EJBContainerImpl.startModule(EJBContainerImpl.java:2550) ... 67 more

By the way, my jdbcprovider and datasource are properly configured. I just don't understand what is the relationship between my application and derby.

Any ideas? Any help will be greatly appreciated!

Was it helpful?

Solution

IBM Websphere uses Derby as internal database. Try to restart the server and examine server logs at startup. It is most likely that you have a server configuration problem and your application is ok. By the way, have you tried to deploy other applications on this server?

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top