struts2框架发布到tomcat正常,发布weblogic 11的时候java.lang.ClassNotFoundException异常

       struts2框架发布到weblogic 11的时候java.lang.ClassNotFoundException异常

<2013-5-7 下午05时49分05秒 CST> <Error> <HTTP> <BEA-101371> <There was a failure when processing annotations for application E:\workspace\Wl\Wl. Please make sure that the annotations are valid. The error is > 
<2013-5-7 下午05时49分05秒 CST> <Error> <Deployer> <BEA-149265> <Failure occurred in the execution of deployment request with ID '1367920135221' for task '25'. Error is: 'weblogic.application.ModuleException: Failed to load webapp: 'Wl''
weblogic.application.ModuleException: Failed to load webapp: 'Wl'
	at weblogic.servlet.internal.WebAppModule.prepare(WebAppModule.java:378)
	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:391)
	at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:83)
	Truncated. see log file for complete stacktrace

Caused By: java.lang.ClassNotFoundException: 
	at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:296)
	at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:269)
	at weblogic.utils.classloaders.ChangeAwareClassLoader.findClass(ChangeAwareClassLoader.java:56)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
	Truncated. see log file for complete stacktrace
> 
<2013-5-7 下午05时49分05秒 CST> <Warning> <Deployer> <BEA-149004> <Failures were detected while initiating deploy task for application 'Wl'.> 
<2013-5-7 下午05时49分05秒 CST> <Warning> <Deployer> <BEA-149078> <Stack trace for message 149004
weblogic.application.ModuleException: Failed to load webapp: 'Wl'
	at weblogic.servlet.internal.WebAppModule.prepare(WebAppModule.java:378)
	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:391)
	at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:83)
	Truncated. see log file for complete stacktrace

Caused By: java.lang.ClassNotFoundException: 
	at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:296)
	at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:269)
	at weblogic.utils.classloaders.ChangeAwareClassLoader.findClass(ChangeAwareClassLoader.java:56)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
	Truncated. see log file for complete stacktrace
> 
<2013-5-7 下午05时49分05秒 CST> <Error> <Console> <BEA-240003> <Console encountered the following error weblogic.application.ModuleException: Failed to load webapp: 'Wl'
	at weblogic.servlet.internal.WebAppModule.prepare(WebAppModule.java:378)
	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:391)
	at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:83)
	at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:59)
	at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:43)
	at weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.java:1221)
	at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:83)
	at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:367)
	at weblogic.application.internal.SingleModuleDeployment.prepare(SingleModuleDeployment.java:39)
	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.ActivateOperation.doPrepare(ActivateOperation.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:157)
	at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$000(DeploymentReceiverCallbackDeliverer.java:12)
	at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$1.run(DeploymentReceiverCallbackDeliverer.java:45)
	at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:516)
	at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
	at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
Caused by: java.lang.ClassNotFoundException: 

	at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:296)
	at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:269)
	at weblogic.utils.classloaders.ChangeAwareClassLoader.findClass(ChangeAwareClassLoader.java:56)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
	at weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClassLoader.java:177)
	at weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass(ChangeAwareClassLoader.java:44)
	at weblogic.servlet.internal.WebAnnotationProcessorImpl.processFilters(WebAnnotationProcessorImpl.java:240)
	at weblogic.servlet.internal.WebAnnotationProcessorImpl.processJ2eeAnnotations(WebAnnotationProcessorImpl.java:212)
	at weblogic.servlet.internal.WebAnnotationProcessorImpl.processAnnotations(WebAnnotationProcessorImpl.java:107)
	at weblogic.servlet.internal.WebAppServletContext.processAnnotations(WebAppServletContext.java:1300)
	at weblogic.servlet.internal.WebAppServletContext.<init>(WebAppServletContext.java:422)
	at weblogic.servlet.internal.WebAppServletContext.<init>(WebAppServletContext.java:466)
	at weblogic.servlet.internal.HttpServer.loadWebApp(HttpServer.java:414)
	at weblogic.servlet.internal.WebAppModule.registerWebApp(WebAppModule.java:924)
	at weblogic.servlet.internal.WebAppModule.prepare(WebAppModule.java:356)
> 

   部分web.xml文件内容如下 

	<filter>
		<filter-name>struts2</filter-name>
		<filter-class>
			org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter<!--Struts2入口类  -->
		</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>struts2</filter-name>
		<url-pattern>/*</url-pattern> 
	</filter-mapping>

 经分析 发现weblogic与tomcat加载web.xml文件的方式可能存在差异,

tomcat加载struts2核心入口类的路径:org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
weblogic加载struts2核心入口类的路径:

org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter<!--Struts2入口类  -->

扫描二维码关注公众号,回复: 614010 查看本文章

当然以上仅是推论

其他一些引起Weblogic启动报错的几个原因请参考

http://hi.baidu.com/shancunyefeng/item/30e93236708830342e0f812d

猜你喜欢

转载自314649444.iteye.com/blog/1861273