当我尝试在WebSphere 8.5上运行我的应用程序时,我遇到了问题。
FFDC Exception:com.ibm.ws.webcontainer.exception.WebAppNotLoadedException SourceId:com.ibm.ws.webcontainer.WebContainer ProbeId:736 Reporter:com.ibm.ws.webcontainer.WSWebContainer@e152ede7
com.ibm.ws.webcontainer.exception.WebAppNotLoadedException: Failed to load webapp: JVMVRFY027 receiver is incompatible with declaring class; class=org/primefaces/component/gmap/GMap, method=queueEvent(Ljavax/faces/event/FacesEvent
;)V, pc=676
at com.ibm.ws.webcontainer.VirtualHostImpl.addWebApplication(VirtualHostImpl.java:176)
at com.ibm.ws.webcontainer.WSWebContainer.addWebApp(WSWebContainer.java:749)
at com.ibm.ws.webcontainer.WSWebContainer.addWebApplication(WSWebContainer.java:634)
at com.ibm.ws.webcontainer.component.WebContainerImpl.install(WebContainerImpl.java:426)
at com.ibm.ws.webcontainer.component.WebContainerImpl.start(WebContainerImpl.java:718)
at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:1177)
at com.ibm.ws.runtime.component.DeployedApplicationImpl.fireDeployedObjectStart(DeployedApplicationImpl.java:1370)
at com.ibm.ws.runtime.component.DeployedModuleImpl.start(DeployedModuleImpl.java:639)
at com.ibm.ws.runtime.component.DeployedApplicationImpl.start(DeployedApplicationImpl.java:968)
at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:776)
at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplicationDynamically(ApplicationMgrImpl.java:1379)
at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:2189)
at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start(CompositionUnitMgrImpl.java:389)
at com.ibm.ws.runtime.component.CompositionUnitImpl.start(CompositionUnitImpl.java:123)
at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start(CompositionUnitMgrImpl.java:332)
at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.access$500(CompositionUnitMgrImpl.java:119)
at com.ibm.ws.runtime.component.CompositionUnitMgrImpl$1.run(CompositionUnitMgrImpl.java:607)
at com.ibm.ws.security.auth.ContextManagerImpl.runAs(ContextManagerImpl.java:5474)
at com.ibm.ws.security.auth.ContextManagerImpl.runAsSystem(ContextManagerImpl.java:5600)
at com.ibm.ws.security.core.SecurityContext.runAsSystem(SecurityContext.java:255)
at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.startCompositionUnit(CompositionUnitMgrImpl.java:621)
at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.startCompositionUnit(CompositionUnitMgrImpl.java:565)
at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:1269)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
at java.lang.reflect.Method.invoke(Method.java:611)
at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:69)
at sun.reflect.GeneratedMethodAccessor61.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
at java.lang.reflect.Method.invoke(Method.java:611)
at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:272)
at javax.management.modelmbean.RequiredModelMBean$4.run(RequiredModelMBean.java:1152)
at java.security.AccessController.doPrivileged(AccessController.java:298)
at com.ibm.oti.security.CheckedAccessControlContext.securityCheck(CheckedAccessControlContext.java:30)
at sun.misc.JavaSecurityAccessWrapper.doIntersectionPrivilege(JavaSecurityAccessWrapper.java:41)
at javax.management.modelmbean.RequiredModelMBean.invokeMethod(RequiredModelMBean.java:1146)
at javax.management.modelmbean.RequiredModelMBean.invoke(RequiredModelMBean.java:999)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:847)
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:783)
at com.ibm.ws.management.AdminServiceImpl$1.run(AdminServiceImpl.java:1335)
at com.ibm.ws.security.util.AccessController.doPrivileged(AccessController.java:118)
at com.ibm.ws.management.AdminServiceImpl.invoke(AdminServiceImpl.java:1228)
at com.ibm.ws.management.connector.AdminServiceDelegator.invoke(AdminServiceDelegator.java:181)
at com.ibm.ws.management.connector.ipc.CallRouter.route(CallRouter.java:247)
at com.ibm.ws.management.connector.ipc.IPCConnectorInboundLink.doWork(IPCConnectorInboundLink.java:360)
at com.ibm.ws.management.connector.ipc.IPCConnectorInboundLink$IPCConnectorReadCallback.complete(IPCConnectorInboundLink.java:602)
at com.ibm.ws.ssl.channel.impl.SSLReadServiceContext$SSLReadCompletedCallback.complete(SSLReadServiceContext.java:1818)
at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:175)
at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1864)
Caused by: java.lang.VerifyError: JVMVRFY027 receiver is incompatible with declaring class; class=org/primefaces/component/gmap/GMap, method=queueEvent(Ljavax/faces/event/FacesEvent;)V, pc=676
at java.lang.J9VMInternals.verifyImpl(Native Method)
at java.lang.J9VMInternals.verify(J9VMInternals.java:94)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:171)
问题似乎是PrimeFaces或javax面孔的版本,但我甚至不在我的项目中使用GMAP对象。
在tomcat 7上,一切正常并且工作正常但是当我尝试在WebSphere中加载我的应用程序时,这会爆炸。
我正在使用PrimeFaces 5和javax.faces.2.2.0
更新
在气体回答之前,我改变了日食项目方面。我改变了web模块(3.0),jst.jsf(2.2)和java版本(1.6)。在tomcat上一切正常,但在WS中,它确实向我显示了同样的错误。
这太令人沮丧了。
更新
7天后,我无法弄明白。似乎WAS 8.5.5不会起作用。 现在它不断提供:Failed to load webapp: javax.servlet.ServletContainerInitializer: Provider com.sun.faces.config.FacesInitializer not a subtype
我按照这个链接尝试解决问题:
IBM using jsf 2.0(我已经使用共享库 - 父已经和我改变了#34; jsp和JSF选项"以各种方式可行)
我还搜索了maven rep上的所有lib和依赖项。
我正在使用:
javax.el-API-2.2.1.jar
javax.faces-2.2.0.jar
javax.servlet.jsp-API-2.2.1.jar
的javax.servlet-API-3.0.1.jar
我做错了什么?
我必须说所有这些都适用于IBM Liberty 8.5和Apache tomcat 7
更新 是的,根据这个链接:Ibm websphere problem
我尝试按照列出的方式执行:在WAS下:
1) Under RAD produce a Ear File
2) Start the admin console
3) Panel: Environment (at right)
4) Sub-menu: Shared libraries
5) Button New and select the required fields. Read with attention the tooltip on each field
6) Check the box Class Loading - Use an isolated class loader for this shared library
7) Panel: Applications > Application Types > WebSphere enterprise applications
8) Button: Install, select your ear and Next
9) Select the radio button: Detailed - Show all installation options and parameters.
10) Follow the steps - moslty default value are ok
10.1) Step 4 Map shared libraries
10.2) Select your ear
10.3) Button: References Shared Libraries
10.4) Select your library previously created and OK button
10.5) Follow the next steps and start your ear file
10.a) If it does not work, then try to create a class loader Panel: Servers > Server Types > WebSphere application servers > Your server (server1)
10.b) Panel: Server Infrastructure > Java and Process Management > Class loader
10.c) Button New: > Class loader order > Classes loaded with local class loader first (Parent Last)
10.d) Apply Button
10.e) Then at the same panel: Shared library references link
10.f) Button Add and select your shared library, OK and Save
10.g) Restart your server and your application
答案 0 :(得分:0)
WebSphere自带JSF 2.0(MyFaces)。要使用您自己的实现,您需要更改JSF配置。查看此页面Configuring JavaServer Faces implementation。它详细解释了您必须做什么(基本上 - 创建隔离的共享库并配置JSF设置)
答案 1 :(得分:0)
我已成功通过手动清理websphere缓存和安装以及从头开始重建来解决此问题。已从/bin/clearClassCache
手动使用c:\users\User\AppData\Local\javasharedresources\
脚本和已删除的文件。
重建和重新部署应用程序 - 它运作良好。