【问题标题】:Cannot deploy application on websphere无法在 websphere 上部署应用程序
【发布时间】: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 和数据源都配置正确。我只是不明白我的申请和德比之间是什么关系。

有什么想法吗?任何帮助将不胜感激!

【问题讨论】:

标签: ejb-3.0 derby websphere-7


【解决方案1】:

IBM Websphere 使用 Derby 作为内部数据库。尝试重新启动服务器并在启动时检查服务器日志。您很可能有服务器配置问题,而您的应用程序没有问题。顺便问一下,您是否尝试在此服务器上部署其他应用程序?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-23
    • 1970-01-01
    • 2015-03-17
    • 1970-01-01
    • 1970-01-01
    • 2016-05-16
    相关资源
    最近更新 更多