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!

Était-ce utile?

La 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?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top