当前位置:编程学习 > JAVA >>

servlet 布署上线报错:java.lang.VerifyError: Incompatible argument to functio

我在本地测试都没问题,上传至服务器后,第一次访问此servlet,提示“HTTP Status 500”,错误,之后再访问就提示:“HTTP Status 404 - Servlet UserFuseServlet is not available”错误,在网上搜索感觉是有包突然,或者是编译的Jdk版本不一致所致(低版本编译,高版本运行),但我本地工程开用 tomcat5.5+JDk1.5.0_08 没问题,后来又换成 tomcat7.0+jkd1.6.0_10也没问题,为何服务器上用的tomcat6.0+jkd1.6.0_39就出这样的问题咧??真不解。

我本地jar包如下:


如下是“HTTP Status 500“错误的日志,请在大家帮我分析一下,感谢!

HTTP Status 500 - 

--------------------------------------------------------------------------------

type Exception report

message 

description The server encountered an internal error () that prevented it from fulfilling this request.

exception 

javax.servlet.ServletException: Error instantiating servlet class com.stock.servlet.userfuse.UserFuseServlet
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
java.lang.Thread.run(Unknown Source)


root cause 

java.lang.VerifyError: (class: com/stock/servlet/userfuse/UserFuseServlet, method: doProcessPostAndGetImp_JSON signature: (Lnet/sf/json/JSONObject;)Lnet/sf/json/JSONObject;) Incompatible argument to function
java.lang.Class.getDeclaredConstructors0(Native Method)
java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
java.lang.Class.getConstructor0(Unknown Source)
java.lang.Class.newInstance0(Unknown Source)
java.lang.Class.newInstance(Unknown Source)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
java.lang.Thread.run(Unknown Source)


note The full stack trace of the root cause is available in the Apache Tomcat/6.0.26 logs.


--------------------------------------------------------------------------------

Apache Tomcat/6.0.26 Servlet VerifyError Tomcat JDK --------------------编程问答-------------------- 之后再访问就提示:404错误, servlet没启动起来!!
-------------------
HTTP Status 404 - Servlet UserFuseServlet is not available

type Status report

message Servlet UserFuseServlet is not available

description The requested resource (Servlet UserFuseServlet is not available) is not available.

Apache Tomcat/6.0.26 --------------------编程问答-------------------- 有贴(http://www.jdon.com/2072)说,是包冲突了,但我在服务器的 tomcat/lib 下,及应用目录/WEB-INF/lib 下jar包都看了,只有我用的那个 “json-lib-2.4-jdk15.jar”里才有 "net/sf/json/JSONObject"这一个类,连“net/sf/json”这样的包名也仅此一个啊!
看来包冲突也不是啊!!!

JDK版本的问题也不像啊,我都用的低版本的JDK啊,服务上的JDK的版本高啊,它应该能向下兼容才对啊。 --------------------编程问答-------------------- java.lang.VerifyError: (class: com/stock/servlet/userfuse/UserFuseServlet, method: doProcessPostAndGetImp_JSON signature: (Lnet/sf/json/JSONObject;)Lnet/sf/json/JSONObject;) Incompatible argument to function;

难道真的是包冲突了???
补充:Java ,  Web 开发
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,