【发布时间】:2014-01-28 23:06:54
【问题描述】:
我正在使用使用以下技术的应用程序:Java、EJB 3、JPA、Websphere 和 Oracle。 我们根本不使用 derby,但是,当我尝试将 ear 部署到 websphere 时,它一直给我以下错误:
原因:java.lang.NoClassDefFoundError: org.apache.derby.jdbc.EmbeddedDriver(初始化失败) 在 java.lang.J9VMInternals.initialize(J9VMInternals.java:140) 在 org.apache.derby.jdbc.EmbeddedDataSource.findDriver(未知来源) 在 org.apache.derby.jdbc.EmbeddedDataSource.getConnection(未知来源) 在 org.apache.derby.jdbc.EmbeddedDataSource.getConnection(未知来源) 在 org.apache.derby.jdbc.EmbeddedXADataSource.setupResourceAdapter(未知来源) 在 org.apache.derby.jdbc.EmbeddedXADataSource.getXAConnection(未知来源) 在 com.ibm.ws.rsadapter.spi.InternalGenericDataStoreHelper$1.run(InternalGenericDataStoreHelper.java:1221) 在 com.ibm.ws.security.util.AccessController.doPrivileged(AccessController.java:118) 在 com.ibm.ws.rsadapter.spi.InternalGenericDataStoreHelper.getPooledConnection(InternalGenericDataStoreHelper.java:1258) 在 com.ibm.ws.rsadapter.spi.WSRdbDataSource.getPooledConnection(WSRdbDataSource.java:2308) 在 com.ibm.ws.rsadapter.spi.WSManagedConnectionFactoryImpl.createManagedConnection(WSManagedConnectionFactoryImpl.java:1598) 在 com.ibm.ejs.j2c.FreePool.createManagedConnectionWithMCWrapper(FreePool.java:2034) 在 com.ibm.ejs.j2c.FreePool.createOrWaitForConnection(FreePool.java:1711) 在 com.ibm.ejs.j2c.PoolManager.reserve(PoolManager.java:2471) 在 com.ibm.ejs.j2c.ConnectionManager.allocateMCWrapper(ConnectionManager.java:1059) 在 com.ibm.ejs.j2c.ConnectionManager.allocateConnection(ConnectionManager.java:696) 在 com.ibm.ws.rsadapter.jdbc.WSJdbcDataSource.getConnection(WSJdbcDataSource.java:668) 在 com.ibm.ws.rsadapter.jdbc.WSJdbcDataSource.getConnection(WSJdbcDataSource.java:635) 在 com.ibm.ws.extensionhelper.db.impl.DatabaseHelperImpl$DSWrapper.getConnection(DatabaseHelperImpl.java:1584) 在 com.ibm.ws.extensionhelper.db.impl.DatabaseHelperImpl.getConnection(DatabaseHelperImpl.java:746) 在 com.ibm.ws.extensionhelper.db.impl.DatabaseHelperImpl.getConnection(DatabaseHelperImpl.java:1354) 在 com.ibm.ws.extensionhelper.db.impl.DatabaseHelperImpl.connect(DatabaseHelperImpl.java:544) 在 com.ibm.ws.extensionhelper.db.impl.DatabaseHelperImpl.initialize(DatabaseHelperImpl.java:497) ... 75 更多 引起:java.lang.SecurityException:密封违规:包org.apache.derby.impl.store.raw.data被密封 在 java.net.URLClassLoader.defineClass(URLClassLoader.java:487) 在 java.net.URLClassLoader.defineClass(URLClassLoader.java:451) 在 java.net.URLClassLoader.access$300(URLClassLoader.java:79) 在 java.net.URLClassLoader$ClassFinder.run(URLClassLoader.java:1034) 在 java.security.AccessController.doPrivileged(AccessController.java:284) 在 java.net.URLClassLoader.findClass(URLClassLoader.java:429) 在 com.ibm.ws.bootstrap.ExtClassLoader.findClass(ExtClassLoader.java:150) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:653) 在 com.ibm.ws.bootstrap.ExtClassLoader.loadClass(ExtClassLoader.java:90) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:619) 在 java.lang.ClassLoader.defineClassImpl(本机方法) 在 java.lang.ClassLoader.defineClass(ClassLoader.java:275) 在 java.security.SecureClassLoader.defineClass(SecureClassLoader.java:69) 在 java.net.URLClassLoader.defineClass(URLClassLoader.java:540) 在 java.net.URLClassLoader.defineClass(URLClassLoader.java:451) 在 java.net.URLClassLoader.access$300(URLClassLoader.java:79) 在 java.net.URLClassLoader$ClassFinder.run(URLClassLoader.java:1034) 在 java.security.AccessController.doPrivileged(AccessController.java:284) 在 java.net.URLClassLoader.findClass(URLClassLoader.java:429) 在 com.ibm.ws.bootstrap.ExtClassLoader.findClass(ExtClassLoader.java:150) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:653) 在 com.ibm.ws.bootstrap.ExtClassLoader.loadClass(ExtClassLoader.java:90) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:619) 在 java.lang.Class.forNameImpl(本机方法) 在 java.lang.Class.forName(Class.java:139) 在 org.apache.derby.impl.services.monitor.BaseMonitor.getImplementations(未知来源) 在 org.apache.derby.impl.services.monitor.BaseMonitor.getDefaultImplementations(未知来源) 在 org.apache.derby.impl.services.monitor.BaseMonitor.runWithState(未知来源) 在 org.apache.derby.impl.services.monitor.FileMonitor.(未知来源) 在 org.apache.derby.iapi.services.monitor.Monitor.startMonitor(未知来源) 在 org.apache.derby.iapi.jdbc.JDBCBoot.boot(未知来源) 在 org.apache.derby.jdbc.EmbeddedDriver.boot(未知来源) 在 org.apache.derby.jdbc.EmbeddedDriver.(未知来源) 在 java.lang.J9VMInternals.initializeImpl(本机方法) 在 java.lang.J9VMInternals.initialize(J9VMInternals.java:200) 在 java.lang.Class.forNameImpl(本机方法) 在 java.lang.Class.forName(Class.java:172) 在 com.ibm.ws.runtime.component.EJBContainerImpl.timerDBExists(EJBContainerImpl.java:2091) 在 com.ibm.ws.runtime.component.EJBContainerImpl.startModule(EJBContainerImpl.java:2550) ... 67 更多
顺便说一句,我的 jdbcprovider 和数据源都配置正确。我只是不明白我的申请和德比之间是什么关系。
有什么想法吗?任何帮助将不胜感激!
【问题讨论】:
-
您是否查看过此相关问题中的任何建议:stackoverflow.com/questions/5597947/…
标签: ejb-3.0 derby websphere-7