1. 程式人生 > >Maven專案右鍵->Maven->Update Project...後src/webapp/index.jsp、Java Resources有紅叉提示

Maven專案右鍵->Maven->Update Project...後src/webapp/index.jsp、Java Resources有紅叉提示

一、問題說明
Maven 新建好後,其他都弄好了,Maven Projects...發現src/webapp/index.jsp、Java Resources有紅叉提示,但是專案當中就是找不到錯誤的檔案。
這種一般有3種情況:
情況一:src/webapp/index.jsp報紅叉
情況二:org.eclipse.wst.common.project.facet.core.xml中的java版本和當前專案jdk版本不一致
情況三:Problems 檢視欄如果出現以下Dynamic Web Module 2.5 or newer錯誤提示

二、解決辦法
1、情況一:src/webapp/index.jsp報紅叉
選中專案,右鍵->BuildPath Configure Build Path->點選選項卡add Library->Server Runtime->next->Apache Tomcat v7.0->finish即可。   
                      

2、情況二:org.eclipse.wst.common.project.facet.core.xml中的java版本和當前專案jdk版本不一致
快捷鍵Ctrl+Shift+R 快速搜尋或進入到工作間專案E:\workspace2\Test\.settings的.settings資料夾下找到org.eclipse.wst.common.project.facet.core.xml檔案,
編輯修改java版本號為當前專案的jdk版本號。如圖:


3、情況三:Problems 檢視欄如果出現以下Dynamic Web Module 2.5 or newer錯誤提示


如上圖所示
(1)快捷鍵Ctrl+Shift+R 快速搜尋找到org.eclipse.wst.common.project.facet.core.xml檔案,編輯修改 <installed facet="jst.web" version="3.0"/>的版本號(跟web.xml中<web app ...version一致)為3.0或2.5以上。如圖:


(2)一般剛新建的maven web專案的話都需要看下/WEB-INF/web.xml,是否是以下程式碼的(新建的maven專案一般都是,不是則忽略)
<!DOCTYPE web-app PUBLIC
  "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
  "http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
 <display-name>Archetype Created Web Application</display-name>
</web-app>
是的話則需要手動改為(<web app ...version="3.0"版本需要跟(1)中jst.web設定的版本一致
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
                         http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
                         version="3.0">
</web-app>
最後,重新maven——>Update Projects...