我正在将我的Web项目部署到Weblogic Server。但是应用程序状态总是“准备好”。我无法启动申请。 日志文件说:
2013年3月13日下午10:44:56 ICT警告部署者管理员-PC myserver [STANDBY]执行线程:'2'表示队列:'weblogic.kernel.Default(自我调整)'WLS内核1363189496796 BEA-149004检测到失败启动应用程序'public_html'的启动任务。<>
2013年3月13日下午10:44:56 ICT警告部署者管理员-PC myserver [STANDBY]执行线程:'2'表示队列:'weblogic.kernel.Default(自我调整)'WLS内核1363189496797 BEA-149078消息的堆栈跟踪149004weblogic.application.ModuleException:at weblogic.servlet.internal.WebAppModule.prepare(WebAppModule.java:393)
at weblogic.application.internal.flow.ScopedModuleDriver.prepare(ScopedModuleDriver.java:176)
at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:199)
at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:517)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:159)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:45)
at weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.java:613)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:184)
at weblogic.application.internal.SingleModuleDeployment.prepare(SingleModuleDeployment.java:43)
at weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:154)
at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:60)
at weblogic.deploy.internal.targetserver.operations.ActivateOperation.createAndPrepareContainer(ActivateOperation.java:207)
at weblogic.deploy.internal.targetserver.operations.StartOperation.createAndPrepareContainer(StartOperation.java:85)
at weblogic.deploy.internal.targetserver.operations.StartOperation.doPrepare(StartOperation.java:98)
at weblogic.deploy.internal.targetserver.operations.AbstractOperation.prepare(AbstractOperation.java:217)
at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentPrepare(DeploymentManager.java:747)
at weblogic.deploy.internal.targetserver.DeploymentManager.prepareDeploymentList(DeploymentManager.java:1216)
at weblogic.deploy.internal.targetserver.DeploymentManager.handlePrepare(DeploymentManager.java:250)
at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.prepare(DeploymentServiceDispatcher.java:159)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doPrepareCallback(DeploymentReceiverCallbackDeliverer.java:171)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$000(DeploymentReceiverCallbackDeliverer.java:13)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$1.run(DeploymentReceiverCallbackDeliverer.java:46)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:528)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:176)
引起者:java.lang.ClassNotFoundException:org.springframework.web.util.IntrospectorCleanupListener 在weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:297) 在weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:270) 在weblogic.utils.classloaders.ChangeAwareClassLoader.findClass(ChangeAwareClassLoader.java:64) at java.lang.ClassLoader.loadClass(ClassLoader.java:307) 在java.lang.ClassLoader.loadClass(ClassLoader.java:248) 在weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClassLoader.java:179) 在weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass(ChangeAwareClassLoader.java:52) 在weblogic.servlet.internal.EventsManager.registerEventListeners(EventsManager.java:123) 在weblogic.servlet.internal.EventsManager.registerPreparePhaseListeners(EventsManager.java:71) 在weblogic.servlet.internal.WebAppServletContext.initContextListeners(WebAppServletContext.java:1852) 在weblogic.servlet.internal.WebAppServletContext.prepare(WebAppServletContext.java:1196) 在weblogic.servlet.internal.HttpServer.doPostContextInit(HttpServer.java:453) 在weblogic.servlet.internal.HttpServer.loadWebApp(HttpServer.java:428) 在weblogic.servlet.internal.WebAppModule.registerWebApp(WebAppModule.java:972) 在weblogic.servlet.internal.WebAppModule.prepare(WebAppModule.java:382) 在weblogic.application.internal.flow.ScopedModuleDriver.prepare(ScopedModuleDriver.java:176) 在weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:199) 在weblogic.application.internal.flow.DeploymentCallbackFlow $ 1.next(DeploymentCallbackFlow.java:517) 在weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52) 在weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:159) 在weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:45) 在weblogic.application.internal.BaseDeployment $ 1.next(BaseDeployment.java:613) 在weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52) 在weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:184) 在weblogic.application.internal.SingleModuleDeployment.prepare(SingleModuleDeployment.java:43) 在weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:154) 在weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:60) 在weblogic.deploy.internal.targetserver.operations.ActivateOperation.createAndPrepareContainer(ActivateOperation.java:207) 在weblogic.deploy.internal.targetserver.operations.StartOperation.createAndPrepareContainer(StartOperation.java:85) 在weblogic.deploy.internal.targetserver.operations.StartOperation.doPrepare(StartOperation.java:98) 在weblogic.deploy.internal.targetserver.operations.AbstractOperation.prepare(AbstractOperation.java:217) 在weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentPrepare(DeploymentManager.java:747) 在weblogic.deploy.internal.targetserver.DeploymentManager.prepareDeploymentList(DeploymentManager.java:1216) 在weblogic.deploy.internal.targetserver.DeploymentManager.handlePrepare(DeploymentManager.java:250) 在weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.prepare(DeploymentServiceDispatcher.java:159) 在weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doPrepareCallback(DeploymentReceiverCallbackDeliverer.java:171) 在weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access $ 000(DeploymentReceiverCallbackDeliverer.java:13) 在weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer $ 1.run(DeploymentReceiverCallbackDeliverer.java:46) at weblogic.work.SelfTuningWorkManagerImpl $ WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:528) 在weblogic.work.ExecuteThread.execute(ExecuteThread.java:207) 在weblogic.work.ExecuteThread.run(ExecuteThread.java:176)
请告诉我如何解决这个问题?
答案 0 :(得分:0)
部署错误非常明显
引起: 抛出java.lang.ClassNotFoundException:org.springframework.web.util.IntrospectorCleanupListener
请确保您的Spring框架相关jar文件位于WEB-INF/lib
文件夹中。
答案 1 :(得分:0)
看起来weblogic服务器无法找到Spring Web API。确保spring API / jar文件放在WEB-INF / lib文件夹下。
或者,您可以将所有从属jar放在服务器上的单独目录中,并在Weblogic启动脚本中设置目录路径。
在我的项目中,我已将所有第三方依赖jar放在服务器上的/ sns文件夹中,并在启动脚本中设置了路径。
设置JAR_CLASSPATH = / sns
设置CLASSPATH =%CLASSPATH%:%JAR_CLASSPATH%
如果要在Windows上的weblogic服务器上部署,请在任何驱动器中创建一个目录[比如E]并放置所有的jar并更改启动脚本,如下所示。
设置JAR_CLASSPATH = E:\ sns
设置CLASSPATH =%CLASSPATH%;%JAR_CLASSPATH%
注意:在Windows上,多个类路径由';'分隔在Linux上用':'