【錯誤解決】 java.lang.ClassNotFoundException: org.apache.jsp.WEB_002dINF.classes.views.index_jsp
阿新 • • 發佈:2019-01-04
今天建立Spring MVC骨架的時候,突然遇到這麼一個問題~~
HTTP Status 500 - java.lang.ClassNotFoundException: org.apache.jsp.WEB_002dINF.classes.views.index_jsp
type Exception report
message java.lang.ClassNotFoundException: org.apache.jsp.WEB_002dINF.classes.views.index_jsp
description The server encountered an internal error that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: java.lang.ClassNotFoundException: org.apache.jsp.WEB_002dINF.classes.views.index_jsp
org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:177)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:369)
org.apache.jasper.servlet.JspServlet.serviceJspFile (JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:168)
org.springframework.web .servlet.view.AbstractView.render(AbstractView.java:303)
org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1244)
org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1027)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:971)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
當時挺懵逼的,以為是少了哪個類,以為是Servlet類或者是jsp的類少了,結果發現jar包都有啊,沒少。
而且應該是不需要的啊,Tomcact帶著有的啊。
後來經過搜尋,有很多說是jar包起衝突了:
有一定道理,然後我將包移出
問題還是存在~
經過一番摸索,搜尋之後,問題都沒有解決。
然後我看到我的JDK用的是1.8,我想,不會是這個的問題吧。
在開始建Maven專案的時候我選擇 的是1.8:
因為我另外一個SpringMVC專案用的是1.7的,沒有問題,配置什麼的都和這個差不多,可是今天搭建SpringMVC的骨架的時候就出問題了。
然後我去改JDK,
注意,我還需要修改pom.xml中的java版本。需要一致!
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.3</version>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
</plugins>
</build>
需要修改java.version這個的值。
修改完成後:
執行。就可以了!
Spring MVC的骨架原始碼,也是這個出問題的原始碼,現在已經被除錯好了,但是如果你將JDK換成1.8的(注意同時修改pom.xml中的java版本),應該還會出現那個問題。
本篇部落格涉及到的原始碼連結:
至於為什麼換了1.7版本的JDK之後就可以運行了,而換成1.8的JDK卻不可以。暫不明白原因!
望知道的在評論區指點一二,謝謝。
本文章由[諳憶]編寫, 所有權利保留。
歡迎轉載,分享是進步的源泉。