日期:2014-05-20  浏览次数:20725 次

急!在weblogic8.1下发布struts2.1.6出错
报错:
<Error> <HTTP> <BEA-101165> <Could not load user defined filter in web.xml: org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.
java.lang.NoClassDefFoundError: java/lang/Iterable
  at org.apache.struts2.util.MakeIterator.convert(MakeIterator.java:81)
  at org.apache.struts2.dispatcher.ng.filter.FilterHostConfig.getInitParameterNames(FilterHostConfig.java:46)
  at org.apache.struts2.dispatcher.ng.InitOperations.createDispatcher(InitOperations.java:99)
  at org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:68)
  at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:48)
  at weblogic.servlet.internal.WebAppServletContext$FilterInitAction.run(WebAppServletContext.java:7008)
  at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
  at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
  at weblogic.servlet.internal.WebAppServletContext.registerFilter(WebAppServletContext.java:3082)
  at weblogic.servlet.internal.WebAppServletContext.initFilters(WebAppServletContext.java:3053)
  at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:3354)
  at weblogic.servlet.internal.WebAppServletContext.setStarted(WebAppServletContext.java:6208)
  at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:864)
  at weblogic.j2ee.J2EEApplicationContainer.start(J2EEApplicationContainer.java:2134)
  at weblogic.j2ee.J2EEApplicationContainer.activate(J2EEApplicationContainer.java:2175)
  at weblogic.management.deploy.slave.SlaveDeployer$ComponentActivateTask.activateContainer(SlaveDeployer.java:2520)
  at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.doCommit(SlaveDeployer.java:2438)
  at weblogic.management.deploy.slave.SlaveDeployer$Task.commit(SlaveDeployer.java:2155)
  at weblogic.management.deploy.slave.SlaveDeployer$Task.checkAutoCommit(SlaveDeployer.java:2254)
  at weblogic.management.deploy.slave.SlaveDeployer$Task.prepare(SlaveDeployer.java:2149)
  at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.prepare(SlaveDeployer.java:2401)
  at weblogic.management.deploy.slave.SlaveDeployer.processPrepareTask(SlaveDeployer.java:883)
  at weblogic.management.deploy.slave.SlaveDeployer.prepareDelta(SlaveDeployer.java:591)
  at weblogic.management.deploy.slave.SlaveDeployer.prepareUpdate(SlaveDeployer.java:500)
  at weblogic.drs.internal.SlaveCallbackHandler$1.execute(SlaveCallbackHandler.java:25)
  at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224)
  at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)
>

总是报class not found 究竟是什么原因
高手请教

------解决方案--------------------
struts2.1需JDK1.5,weblogic8.1只支持jdk1.4

如果实在是想在weblogic8.1下跑struts2的话,需下struts2的jdk1.4的兼容包