Unable to compile class for JSP 问题解决方法

来源:互联网 发布:万网 域名 转移 编辑:程序博客网 时间:2024/06/08 08:20


 Unable to compile class for JSP 问题解决方法

问题:

2017-1-17 11:11:27 org.apache.coyote.http11.Http11Protocol start信息: Starting Coyote HTTP/1.1 on http-80802017-1-17 11:11:27 org.apache.jk.common.ChannelSocket init信息: JK: ajp13 listening on /0.0.0.0:80092017-1-17 11:11:27 org.apache.jk.server.JkMain start信息: Jk running ID=0 time=0/0  config=null2017-1-17 11:11:27 org.apache.catalina.startup.Catalina start信息: Server startup in 8509 ms2017-1-17 11:11:27 org.apache.catalina.core.StandardWrapperValve invoke严重: Servlet.service() for servlet jsp threw exceptionjava.lang.NoSuchMethodError: javax.servlet.jsp.JspFactory.getJspApplicationContext(Ljavax/servlet/ServletContext;)Ljavax/servlet/jsp/JspApplicationContext;at org.apache.jsp.index_jsp._jspInit(index_jsp.java:22)at org.apache.jasper.runtime.HttpJspBase.init(HttpJspBase.java:52)at org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:164)at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:340)at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)at java.lang.Thread.run(Thread.java:662)



解决办法:


<dependency><groupId>javax.servlet</groupId><artifactId>servlet-api</artifactId><version>2.4.public_draft</version></dependency>

<dependency><groupId>javax.servlet.jsp</groupId><artifactId>jsp-api</artifactId><version>2.0</version></dependency>


重复

把catalina.jar、jsp-api.jar、servlet-api.jar等这样的重复包,把它们从工程中删了就行(对于上面的异常,原因应该是包jsp-api.jar)。
删除jsp-api.jar 引用即可:

2017-1-17 11:13:50 org.apache.coyote.http11.Http11Protocol start信息: Starting Coyote HTTP/1.1 on http-80802017-1-17 11:13:50 org.apache.jk.common.ChannelSocket init信息: JK: ajp13 listening on /0.0.0.0:80092017-1-17 11:13:50 org.apache.jk.server.JkMain start信息: Jk running ID=0 time=0/16  config=null2017-1-17 11:13:50 org.apache.catalina.startup.Catalina start信息: Server startup in 8584 ms


0 0