单击按钮时引发抽象方法错误
Abstract Method error is thrown on Click of button
我在点击按钮时遇到问题。页面抛出抽象方法错误。是什么原因造成的,有知道的请评论一下?
试图分析配置并发现了一些东西。我们项目中的构建机器和目标机器是不同的。
- 构建机器:代码被编译并生成 .war 文件
- 目标机器:要部署的 war 文件和应用程序
从那台机器运行。
构建机器有以下详细信息:
java version "1.6.0_22"
OpenJDK Runtime Environment (IcedTea6 1.10.6) (rhel-1.43.1.10.6.el6_2-i386)
OpenJDK Server VM (build 20.0-b11, mixed mode)
Tomcat 6 已安装。
目标机器有以下详细信息:
java version "1.7.0_75"
OpenJDK Runtime Environment (rhel-2.5.4.0.el6_6-i386 u75-b13)
OpenJDK Server VM (build 24.75-b04, mixed mode)
Tomcat7 安装在目标机器上。
install.sh
#!/bin/sh
echo "Installing Web GUI on []"
echo "Stopping tomcat...";
ssh root@ "/sbin/service tomcat stop"
echo "Copying the WAR file..."
scp admin.war root@:/usr/share/tomcat/webapps/
echo "Deploying and restarting tomcat..."
ssh root@ "rm -rf /usr/share/tomcat/webapps/admin;unzip -o -q /usr/share/tomcat/webapps/admin.war -d /usr/share/tomcat/webapps/admin;/sbin/service tomcat start"
echo "System should be up soon."
抛出的抽象方法:
java.lang.AbstractMethodError
javax.servlet.ServletRequestWrapper.isAsyncStarted(ServletRequestWrapper.java:396)
com.console.jsp.editCDTemplate_jsp._jspService(editCDTemplate_jsp.java:167)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1056)
org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:261)
org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:388)
org.apache.struts.tiles.TilesRequestProcessor.processForwardConfig(TilesRequestProcessor.java:316)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:231)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:397)
javax.servlet.http.HttpServlet.service(HttpServlet.java:620)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
com.console.CharsetFilter.doFilter(CharsetFilter.java:16)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
是否也需要在构建机器上更新 tomcat?如果我做错了什么请评论。
看起来 javax.servlet jar 文件太旧了,servlet 3.0 规范中引入了异步支持:http://docs.oracle.com/javaee/6/api/javax/servlet/ServletRequest.html#isAsyncSupported()
如果您的代码需要,那么可以,升级 tomcat 版本。 tomcat 的站点上也有一个 servlet 版本兼容性矩阵。
希望这有帮助。
我在点击按钮时遇到问题。页面抛出抽象方法错误。是什么原因造成的,有知道的请评论一下?
试图分析配置并发现了一些东西。我们项目中的构建机器和目标机器是不同的。
- 构建机器:代码被编译并生成 .war 文件
- 目标机器:要部署的 war 文件和应用程序 从那台机器运行。
构建机器有以下详细信息:
java version "1.6.0_22"
OpenJDK Runtime Environment (IcedTea6 1.10.6) (rhel-1.43.1.10.6.el6_2-i386)
OpenJDK Server VM (build 20.0-b11, mixed mode)
Tomcat 6 已安装。
目标机器有以下详细信息:
java version "1.7.0_75"
OpenJDK Runtime Environment (rhel-2.5.4.0.el6_6-i386 u75-b13)
OpenJDK Server VM (build 24.75-b04, mixed mode)
Tomcat7 安装在目标机器上。
install.sh
#!/bin/sh
echo "Installing Web GUI on []"
echo "Stopping tomcat...";
ssh root@ "/sbin/service tomcat stop"
echo "Copying the WAR file..."
scp admin.war root@:/usr/share/tomcat/webapps/
echo "Deploying and restarting tomcat..."
ssh root@ "rm -rf /usr/share/tomcat/webapps/admin;unzip -o -q /usr/share/tomcat/webapps/admin.war -d /usr/share/tomcat/webapps/admin;/sbin/service tomcat start"
echo "System should be up soon."
抛出的抽象方法:
java.lang.AbstractMethodError
javax.servlet.ServletRequestWrapper.isAsyncStarted(ServletRequestWrapper.java:396)
com.console.jsp.editCDTemplate_jsp._jspService(editCDTemplate_jsp.java:167)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1056)
org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:261)
org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:388)
org.apache.struts.tiles.TilesRequestProcessor.processForwardConfig(TilesRequestProcessor.java:316)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:231)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:397)
javax.servlet.http.HttpServlet.service(HttpServlet.java:620)
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
com.console.CharsetFilter.doFilter(CharsetFilter.java:16)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
是否也需要在构建机器上更新 tomcat?如果我做错了什么请评论。
看起来 javax.servlet jar 文件太旧了,servlet 3.0 规范中引入了异步支持:http://docs.oracle.com/javaee/6/api/javax/servlet/ServletRequest.html#isAsyncSupported()
如果您的代码需要,那么可以,升级 tomcat 版本。 tomcat 的站点上也有一个 servlet 版本兼容性矩阵。 希望这有帮助。