最近有個(gè)項(xiàng)目將要用到WebSphere,所以我提前來熟悉一下,在WebSphere7.0上安裝完一個(gè)struts2的小項(xiàng)目測(cè)試,在tomcat下該項(xiàng)目沒有任何問題,當(dāng)我把tomcat下打包的war包在WebSphere中安裝后,就只能訪問html頁(yè)面了,其余的struts2的請(qǐng)求,跟jsp頁(yè)面都不能訪問,提示您無權(quán)查看此頁(yè)面,跑到日志文件中發(fā)現(xiàn),啟動(dòng)時(shí)有如下錯(cuò)誤:
[10-8-18 15:17:41:079 CST] 00000010 webapp E com.ibm.ws.webcontainer.webapp.WebApp initializeExtensionProcessors SRVE0280E: 擴(kuò)展處理器無法在工廠 [com.ibm.ws.jsp.webcontainerext.ws.WASJSPExtensionFactory@2bec2bec] 中進(jìn)行初始化:java.lang.ClassCastException: com.sun.faces.application.WebappLifecycleListener incompatible with java.util.EventListener
at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionProcessor.<init>(AbstractJSPExtensionProcessor.java:250)
at com.ibm.ws.jsp.webcontainerext.ws.WASJSPExtensionProcessor.<init>(WASJSPExtensionProcessor.java:70)
at com.ibm.ws.jsp.webcontainerext.ws.WASJSPExtensionFactory.createProcessor(WASJSPExtensionFactory.java:251)
at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionFactory.createExtensionProcessor(AbstractJSPExtensionFactory.java:75)
at com.ibm.ws.webcontainer.webapp.WebApp.initializeExtensionProcessors(WebApp.java:1313)
at com.ibm.ws.webcontainer.webapp.WebApp.commonInitializationFinish(WebApp.java:360)
at com.ibm.ws.webcontainer.webapp.WebAppImpl.initialize(WebAppImpl.java:298)
at com.ibm.ws.webcontainer.webapp.WebGroupImpl.addWebApplication(WebGroupImpl.java:100)
at com.ibm.ws.webcontainer.VirtualHostImpl.addWebApplication(VirtualHostImpl.java:166)
at com.ibm.ws.webcontainer.WSWebContainer.addWebApp(WSWebContainer.java:731)
at com.ibm.ws.webcontainer.WSWebContainer.addWebApplication(WSWebContainer.java:616)
at com.ibm.ws.webcontainer.component.WebContainerImpl.install(WebContainerImpl.java:376)
at com.ibm.ws.webcontainer.component.WebContainerImpl.start(WebContainerImpl.java:668)
at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:1122)
at com.ibm.ws.runtime.component.DeployedApplicationImpl.fireDeployedObjectStart(DeployedApplicationImpl.java:1315)
at com.ibm.ws.runtime.component.DeployedModuleImpl.start(DeployedModuleImpl.java:619)
at com.ibm.ws.runtime.component.DeployedApplicationImpl.start(DeployedApplicationImpl.java:940)
at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:725)
at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:2046)
at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start(CompositionUnitMgrImpl.java:439)
at com.ibm.ws.runtime.component.CompositionUnitImpl.start(CompositionUnitImpl.java:123)
at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start(CompositionUnitMgrImpl.java:382)
at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.access$300(CompositionUnitMgrImpl.java:110)
at com.ibm.ws.runtime.component.CompositionUnitMgrImpl$CUInitializer.run(CompositionUnitMgrImpl.java:949)
at com.ibm.wsspi.runtime.component.WsComponentImpl$_AsynchInitializer.run(WsComponentImpl.java:349)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1550)

[10-8-18 15:17:41:562 CST] 00000010 config I Initializing Sun's JavaServer Faces implementation (1.2_07-b03-FCS) for context '/cc'
[10-8-18 15:17:44:579 CST] 00000010 webapp W com.ibm.ws.webcontainer.webapp.WebApp initializeTargetMappings SRVE0269W: 找不到用于處理 JSP 的擴(kuò)展處理器。
[10-8-18 15:17:44:584 CST] 00000010 webcontainer I com.ibm.ws.wswebcontainer.VirtualHost addWebApplication SRVE0250I: Web 模塊 null 已綁定到 default_host[*:9080,*:80,*:9443,*:5060,*:5061,*:443]。
[10-8-18 15:17:44:616 CST] 0000000f webapp I com.ibm.ws.webcontainer.webapp.WebGroupImpl WebGroup SRVE0169I: 正在裝入 Web 模塊:WIM。
[10-8-18 15:17:44:793 CST] 0000000f WASSessionCor I SessionContextRegistry getSessionContext SESN0176I: 將為應(yīng)用程序鍵 admin_host/wim 創(chuàng)建新的會(huì)話上下文
[10-8-18 15:17:44:933 CST] 0000000f webcontainer I com.ibm.ws.wswebcontainer.VirtualHost addWebApplication SRVE0250I: Web 模塊 WIM 已綁定到 admin_host[*:9060,*:9043]。
[10-8-18 15:17:45:194 CST] 00000011 webapp I com.ibm.ws.webcontainer.webapp.WebGroupImpl WebGroup SRVE0169I: 正在裝入 Web 模塊:PlantsByWebSphere Sample Gallery Web Application。
[10-8-18 15:17:45:262 CST] 00000010 ApplicationMg A WSVR0221I: 應(yīng)用程序已啟動(dòng):StrutsTest_war
[10-8-18 15:17:45:288 CST] 00000010 CompositionUn A WSVR0191I: 已啟動(dòng) BLA WebSphere:blaname=StrutsTest_war 中的組合單元 WebSphere:cuname=StrutsTest_war。






































網(wǎng)上百度了一大堆都沒有解決掉,
有的說在應(yīng)用程序服務(wù)器 > WebSphere_Portal > Web 容器 > 定制屬性->新建屬性
com.ibm.ws.webcontainer.invokefilterscompatibility true
添加以上屬性,但是沒有什么作用。
最后我將myeclipse中發(fā)布到WebSphere中的war包,去安裝后,該問題消失了,一切訪問都沒問題。
比對(duì)一下里邊的包,發(fā)下tomcat的war包多了三個(gè)jar包jsf-api.jar,jsf-impl.jar,jstl-1.2.jar,不管三七二十一,先刪了再說,再次安裝到WebSphere問題沒在出現(xiàn)。
再次查看以前的錯(cuò)誤信息原來說的是jsf-impl.jar包中的com.sun.faces.application.WebappLifecycleListener與java.util.EventListener不兼容導(dǎo)致。