如何解决该错误?(与Struts有关)

04-08-04 holykeeper
在weblogic部署web工程时总会出现以下错误,struts使用1.1的版本:

2004-8-4 10:55:20 org.apache.struts.action.ActionServlet destroyModules

严重: javax.servlet.UnavailableException: Cannot initialize RequestProcessor of

class org.apache.struts.action.RequestProcessor: java.lang.ClassNotFoundException: org.apache.struts.action.RequestProcessor

<2004-8-4 上午10时55分20秒 CST> <Error> <HTTP> <BEA-101268> <ServletContext(id=30628850,name=examsignupweb,context-path=/examsignupweb): Failed while destroying servlet: action.

java.lang.NoClassDefFoundError: org/apache/commons/collections/FastHashMap$KeySet

at org.apache.commons.collections.FastHashMap.keySet(Unknown Source)

at org.apache.struts.action.ActionServlet.destroyDataSources(ActionServl

et.java:769)

at org.apache.struts.action.ActionServlet.destroy(ActionServlet.java:431

)

at weblogic.servlet.internal.ServletStubImpl$ServletDestroyAction.run(Se

rvletStubImpl.java:1029)

at weblogic.security.acl.internal.AuthenticatedSubject.doAs(Authenticate

dSubject.java:317)

at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:

118)

at weblogic.servlet.internal.ServletStubImpl.destroyServlet(ServletStubI

mpl.java:583)

at weblogic.servlet.internal.ServletStubImpl.destroyServlet(ServletStubI

mpl.java:610)

at weblogic.servlet.internal.ServletStubImpl.destroyServlet(ServletStubI

mpl.java:595)

at weblogic.servlet.internal.WebAppServletContext.destroyServlets(WebApp

ServletContext.java:5803)

at weblogic.servlet.internal.WebAppServletContext.destroy(WebAppServletC

ontext.java:5683)

at weblogic.servlet.internal.ServletContextManager.removeContext(Servlet

ContextManager.java:188)

at weblogic.servlet.internal.HttpServer.unloadWebApp(HttpServer.java:740

)

at weblogic.servlet.internal.WebAppModule.destroyContexts(WebAppModule.j

ava:767)

at weblogic.servlet.internal.WebAppModule.rollback(WebAppModule.java:745

)

at weblogic.j2ee.J2EEApplicationContainer.rollbackModule(J2EEApplication

Container.java:3057)

at weblogic.j2ee.J2EEApplicationContainer.rectifyClassLoaders(J2EEApplic

ationContainer.java:1429)

at weblogic.j2ee.J2EEApplicationContainer.prepare(J2EEApplicationContain

er.java:1176)

at weblogic.j2ee.J2EEApplicationContainer.prepare(J2EEApplicationContain

er.java:1031)

at weblogic.management.deploy.slave.SlaveDeployer$ComponentActivateTask.

prepareContainer(SlaveDeployer.java:2602)

at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.createCon

tainer(SlaveDeployer.java:2552)

at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.prepare(S

laveDeployer.java:2474)

at weblogic.management.deploy.slave.SlaveDeployer.processPrepareTask(Sla

veDeployer.java:798)

at weblogic.management.deploy.slave.SlaveDeployer.prepareDelta(SlaveDepl

oyer.java:507)

at weblogic.management.deploy.slave.SlaveDeployer.prepareUpdate(SlaveDep

loyer.java:465)

at weblogic.drs.internal.SlaveCallbackHandler$1.execute(SlaveCallbackHan

dler.java:25)

at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)

at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)

>

1
banq
2004-08-10 12:44
缺少apache的common包

holykeeper
2004-08-29 12:30
可是我的war包下的WEB-INF\lib\commons-collections.jar确实有啊。

而且包中也有

org/apache/commons/collections/FastHashMap$KeySet.class

banq
2004-09-04 17:17
属于打包问题,理解Weblogic的classloader原理。

更换JBoss部署就可以,因为两者策略不一样。

猜你喜欢