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 开发