1. 程式人生 > >Unable to compile class for JSP 問題解決方法javax.servlet.jsp.jstl.core.ConditionalTagSupport notfound

Unable to compile class for JSP 問題解決方法javax.servlet.jsp.jstl.core.ConditionalTagSupport notfound

 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-8080
2017-1-17 11:11:27 org.apache.jk.common.ChannelSocket init
資訊: JK: ajp13 listening on /0.0.0.0:8009
2017-1-17 11:11:27 org.apache.jk.server.JkMain start
資訊: Jk running ID=0 time=0/0  config=null
2017-1-17 11:11:27 org.apache.catalina.startup.Catalina start
資訊: Server startup in 8509 ms
2017-1-17 11:11:27 org.apache.catalina.core.StandardWrapperValve invoke
嚴重: Servlet.service() for servlet jsp threw exception
java.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-8080
2017-1-17 11:13:50 org.apache.jk.common.ChannelSocket init
資訊: JK: ajp13 listening on /0.0.0.0:8009
2017-1-17 11:13:50 org.apache.jk.server.JkMain start
資訊: Jk running ID=0 time=0/16  config=null
2017-1-17 11:13:50 org.apache.catalina.startup.Catalina start
資訊: Server startup in 8584 ms

javax.servlet.jsp.jstl.core.ConditionalTagSupport NOT FOUND解決辦法

使用spring3.05 mvc進行開發,使用tomcat容器,通過url對映尋找view的時候,會報錯NoClassDefFoundError:javax/servlet/jsp/jstl/core/Config,如果隨便去找個jstl包過來放入web-inf/lib會報錯,正確的下載地址在點選開啟連結