Struts2与Weblogic服务器配置注意事项

最近新项目打算用struts2与weblogic服务器搭建项目环境,本以为会很容易成功,没想到却花了我好多时间。

废话不多说,进入正题:

环境:weblogic9.2 MP3  、JDK1.7.3、MyEclipse8.5

一开始按照基本的struts2搭配环节进行,发现在服务器启动的时候,报错,大致如下:

<<WLS Kernel>> <> <> <1272511848921> <BEA-101165> <Could not load user defined filter in web.xml: org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.
Unable to load configuration. - [unknown location]
        at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:58)
        at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:360)
        at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:403)
        at org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:69)
        at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:48)
        at weblogic.servlet.internal.FilterManager$FilterInitAction.run(FilterManager.java:309)
        at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
        at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
        at weblogic.servlet.internal.FilterManager.loadFilter(FilterManager.java:88)
        at weblogic.servlet.internal.FilterManager.preloadFilters(FilterManager.java:56)
        at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:1610)
        at weblogic.servlet.internal.WebAppServletContext.start(WebAppServletContext.java:2750)
        at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:889)
        at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:333)
        at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:204)
        at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
        at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:60)
        at weblogic.application.internal.flow.ScopedModuleDriver.start(ScopedModuleDriver.java:200)
        at weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:117)
        at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:204)
        at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
        at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:60)
        at weblogic.application.internal.flow.StartModulesFlow.activate(StartModulesFlow.java:26)
        at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:635)
        at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
        at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:212)
        at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:154)
        at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:80)
        at weblogic.deploy.internal.targetserver.BasicDeployment.activate(BasicDeployment.java:181)
        at weblogic.deploy.internal.targetserver.BasicDeployment.activateFromServerLifecycle(BasicDeployment.java:358)
        at weblogic.management.deploy.internal.DeploymentAdapter$1.doActivate(DeploymentAdapter.java:52)
        at weblogic.management.deploy.internal.DeploymentAdapter.activate(DeploymentAdapter.java:186)
        at weblogic.management.deploy.internal.AppTransition$2.transitionApp(AppTransition.java:30)
        at weblogic.management.deploy.internal.ConfiguredDeployments.transitionApps(ConfiguredDeployments.java:233)
        at weblogic.management.deploy.internal.ConfiguredDeployments.activate(ConfiguredDeployments.java:169)
        at weblogic.management.deploy.internal.ConfiguredDeployments.deploy(ConfiguredDeployments.java:123)
        at weblogic.management.deploy.internal.DeploymentServerService.resume(DeploymentServerService.java:173)
        at weblogic.management.deploy.internal.DeploymentServerService.start(DeploymentServerService.java:89)
        at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)
        at weblogic.work.ServerWorkManagerImpl$WorkAdapterImpl.run(ServerWorkManagerImpl.java:518)
        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
        at weblogic.work.ExecuteThread.run(ExecuteThread.java:181)
Error loading configuration file struts.xml - [unknown location]

 

在网上查了好多资料,都以为是jar包冲突,或者是jar没有导入导致的,其实还有另外的一种原因。

weblogic9.2启动部署的时候,默认的自带的jdk1.5,而这个时候我们的MyEclipse8.5用的是自己安装的jdk1.7.3,导致版本不一致

解决方法如下:右键需要部署的项目,选择—》properties—》java Compiler

将项目的编译器改成jdk.1.5的版本就OK了,再次部署,就不会出现找不到action的错误了

 

posted @ 2013-10-09 18:55  离尘  阅读(2254)  评论(4编辑  收藏  举报