java.lang.VerifyError:JVMVRFY027接收器与声明类不兼容; class = org / primefaces / component / gmap / GMap,method = queueEvent

时间:2015-03-10 15:03:28

标签: jsf primefaces websphere jsf-2.2 websphere-8

当我尝试在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&#59; class=org/primefaces/component/gmap/GMap, method=queueEvent(Ljavax/faces/event/FacesEvent
&#59;)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

2 个答案:

答案 0 :(得分:0)

WebSphere自带JSF 2.0(MyFaces)。要使用您自己的实现,您需要更改JSF配置。查看此页面Configuring JavaServer Faces implementation。它详细解释了您必须做什么(基本上 - 创建隔离的共享库并配置JSF设置)

答案 1 :(得分:0)

我已成功通过手动清理websphere缓存和安装以及从头开始重建来解决此问题。已从/bin/clearClassCache手动使用c:\users\User\AppData\Local\javasharedresources\脚本和已删除的文件。 重建和重新部署应用程序 - 它运作良好。