【发布时间】:2011-11-03 08:50:23
【问题描述】:
我是开发 JOnAs 平台的新手,也在 Spring 中,更一般地在 web 中 发展。在 JBoss 5.1.GA 和 tomcat 6.x,7.x 遇到问题后,我决定 搬到乔纳斯。我现在在部署我的 Web 应用程序时遇到了问题。给定的 堆栈跟踪如下:
2011-08-25 04:56:04,467:JPersistenceUnitInfoLoader.loadPersistenceUnitInfoImplList:未定义 SharedCacheMode。设置为默认未指定 2011-08-25 04:56:04,474:BaseModelMBean.invoke:异常调用方法部署 java.lang.NoClassDefFoundError: javax/persistence/SharedCacheMode 在 org.ow2.easybeans.persistence.xml.JPersistenceUnitInfoLoader.loadPersistenceUnitInfoImplList(JPersistenceUnitInfoLoader.java:233) 在 org.ow2.easybeans.persistence.xml.JPersistenceUnitInfoHelper.getPersistenceUnitInfoList(JPersistenceUnitInfoHelper.java:118) 在 org.ow2.easybeans.persistence.xml.PersistenceXmlFileAnalyzer.analyzePersistenceXmlFile(PersistenceXmlFileAnalyzer.java:130) 在 org.ow2.jonas.ejb.easybeans.EasyBeansService._getPersistenceUnitManager(EasyBeansService.java:880) 在 org.ow2.jonas.ejb.easybeans.EasyBeansService.getPersistenceUnitManager(EasyBeansService.java) 在 org.ow2.jonas.web.base.BaseWebContainerService.registerWar(BaseWebContainerService.java:821) 在 org.ow2.jonas.web.base.BaseWebContainerService.registerWar(BaseWebContainerService.java:1241) 在 org.ow2.jonas.web.base.proxy.HttpOnDemandProxy.addWar(HttpOnDemandProxy.java:352) 在 org.ow2.jonas.web.base.WARDeployer.doDeploy(WARDeployer.java:70) 在 org.ow2.util.ee.deploy.impl.deployer.AbsDeployer$1.execute(AbsDeployer.java:96) 在 org.ow2.util.ee.deploy.impl.deployer.AbsDeployer$1.execute(AbsDeployer.java:95) 在 org.ow2.util.execution.helper.RunnableHelper.execute(RunnableHelper.java:77) 在 org.ow2.util.ee.deploy.impl.deployer.AbsDeployer.deploy(AbsDeployer.java:94) 在 org.ow2.util.ee.deploy.impl.deployer.DeployerManager.deploy(DeployerManager.java:129) 在 org.ow2.jonas.lib.jmbeans.J2EEServer._deploy(J2EEServer.java:823) 在 org.ow2.jonas.lib.jmbeans.J2EEServer.deploy(J2EEServer.java) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:616) 在 org.apache.commons.modeler.BaseModelMBean.invoke(BaseModelMBean.java:458) 在 com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:857) 在 com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:795) 在 javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1450) 在 javax.management.remote.rmi.RMIConnectionImpl.access$200(RMIConnectionImpl.java:90) 在 javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1285) 在 javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1383) 在 javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:807) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:616) 在 sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:322) 在 sun.rmi.transport.Transport$1.run(Transport.java:177) 在 java.security.AccessController.doPrivileged(本机方法) 在 sun.rmi.transport.Transport.serviceCall(Transport.java:173) 在 sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:553) 在 sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:808) 在 sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:667) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) 在 java.lang.Thread.run(Thread.java:679) 原因:java.lang.ClassNotFoundException:org.ow2.jonas.osgi.javaee-api [48] 找不到 javax.persistence.SharedCacheMode 在 org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation(ModuleImpl.java:787) 在 org.apache.felix.framework.ModuleImpl.access 400 美元(ModuleImpl.java:71) 在 org.apache.felix.framework.ModuleImpl$ModuleClassLoader.loadClass(ModuleImpl.java:1768) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:266) 在 org.apache.felix.framework.ModuleImpl.getClassByDelegation(ModuleImpl.java:645) 在 org.apache.felix.framework.resolver.WireImpl.getClass(WireImpl.java:99) 在 org.apache.felix.framework.ModuleImpl.searchImports(ModuleImpl.java:1390) 在 org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation(ModuleImpl.java:722) 在 org.apache.felix.framework.ModuleImpl.access 400 美元(ModuleImpl.java:71) 在 org.apache.felix.framework.ModuleImpl$ModuleClassLoader.loadClass(ModuleImpl.java:1768) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:266) ... 42 更多 2011-08-25 04:57:46,777:J2EEServer._undeploy:无法取消部署可部署 java.lang.RuntimeException:未部署存档“WARDeployableImpl [archive=/home/stephane/projetJEE/server/jonas-full-5.2.0/base/archives/immo.war]”。 在 org.ow2.jonas.lib.jmbeans.J2EEServer._undeploy(J2EEServer.java:842) 在 org.ow2.jonas.lib.jmbeans.J2EEServer.undeploy(J2EEServer.java) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:616) 在 org.apache.commons.modeler.BaseModelMBean.invoke(BaseModelMBean.java:458) 在 com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:857) 在 com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:795) 在 javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1450) 在 javax.management.remote.rmi.RMIConnectionImpl.access$200(RMIConnectionImpl.java:90) 在 javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1285) 在 javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1383) 在 javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:807) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:616) 在 sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:322) 在 sun.rmi.transport.Transport$1.run(Transport.java:177) 在 java.security.AccessController.doPrivileged(本机方法) 在 sun.rmi.transport.Transport.serviceCall(Transport.java:173) 在 sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:553) 在 sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:808) 在 sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:667) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) 在 java.lang.Thread.run(Thread.java:679) 2011-08-25 04:57:46,778:BaseModelMBean.invoke:异常调用方法取消部署 java.lang.RuntimeException:无法取消部署可部署的“WARDeployableImpl[archive=/home/stephane/projetJEE/server/jonas-full-5.2.0/base/archives/immo.war]”:存档“WARDeployableImpl[archive=/home /stephane/projetJEE/server/jonas-full-5.2.0/base/archives/immo.war]' 未部署。 在 org.ow2.jonas.lib.jmbeans.J2EEServer.__undeploy(J2EEServer.java:849) 在 org.ow2.jonas.lib.jmbeans.J2EEServer.undeploy(J2EEServer.java) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:616) 在 org.apache.commons.modeler.BaseModelMBean.invoke(BaseModelMBean.java:458) 在 com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:857) 在 com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:795) 在 javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1450) 在 javax.management.remote.rmi.RMIConnectionImpl.access$200(RMIConnectionImpl.java:90) 在 javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1285) 在 javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1383) 在 javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:807) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:616) 在 sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:322) 在 sun.rmi.transport.Transport$1.run(Transport.java:177) 在 java.security.AccessController.doPrivileged(本机方法) 在 sun.rmi.transport.Transport.serviceCall(Transport.java:173) 在 sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:553) 在 sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:808) 在 sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:667) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) 在 java.lang.Thread.run(Thread.java:679)
我希望有人能帮助我。我已尝试启动(不是同时,但由于我无法成功实现一个,因此我移至另一个)正确启动以下应用程序服务器之一 2 周。我正在使用 Jonas 5.2.x 完整配置文件。 再见
【问题讨论】:
标签: jakarta-ee jpa osgi persistence-unit