Manen下的Spring MVC專案錯誤 集錦

Terence_Jing發表於2016-12-15

錯誤一 Maven專案無法Clean

ERROR:Failed to execute goalorg.apache.maven.plugins:maven-clean-plugin:2.5:clean (default-clean) onproject testMavenWeb: Failed to clean project: Failed to delete ……

解決辦法:重新整理專案,或者重啟軟體,或者隔一段時間重啟Eclipse,重新Clean專案,會通過,原因未知,可能是埠占用,可能是多個終端同時執行造成。

在用到一些管理工具、外掛、框架的依賴包的時候,經常會出現一些非技術性的類似錯誤,有時候真個Eclipse軟體啟動後不能運轉,顯示很多錯誤,有時候各種外掛和包找不多,首先需要沉住氣,重啟軟體,確保軟體正常和專案正常的情況下再找一些人為錯誤。

 

錯誤二  Maven專案無法compile

ERROR: Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin: 2.1 . 2 :compile ( default -compile) on projectFatal error compiling:tools.jar not found

……

解釋:錯誤原因是找不到相應的工具的來編譯專案,結合著自己嘗試的辦法和別人提供的辦法,解決辦法有三個:

1.   使用JDK自帶編譯工具。

建立Maven專案的時候自動新增了JRESystem Library jre1.5的庫,在compile/package/install的時候,有的可能會報出找不到compile工具的錯誤,也有的不會,具體原因未知,此時可以將自己安裝的JDK下的編譯工具新增進來,步驟如下:

首先:點選Eclipse—》Window—》PreferencesàJavaàInstalled JREs,在右側點選Add—》Standard VM—》點選Directoy,尋找自己安裝的jdk包新增進來,我的安裝的是jdk1.7.0_80。


然後:右擊專案名—》Build PathàConfigure Build Path,點選Java Build Pah,點選右邊的Libraries選項卡---》Add Library---》選JRESystem Library—》nextàEnvironments—》在ExecutionEnvironments中選CDC-1.1Foundation-1.1-à在Compatible JREs中選jdk1.7.0_80,一路點選OK,新增進來就好用了。

 

2、使用測試工具Junit編譯專案

使用pom.xml檔案中配置的測試工具Junit來編譯專案

Junit是java語言的一個單元測試框架,Eclipse中可能會自帶,步驟如下:

右擊專案名—》Build PathàConfigure Build Path,點選Java Build Pah,點選右邊的Libraries選項卡---》Add Library---》Junitànextà選擇Junit4àFinish,此時再編譯,就可以通過了。

 

3、修改編碼方式

編譯不通過可能是專案編碼問題,點選專案屬性,進入改變編碼,一般使用UTF-8的好一點;也可能是網頁編碼的問題,看看網頁前面的contentType值是不是UTF-8,如果不是,則修改過來。



錯誤三:  SAXParse解析異常,匹配異常

ERROR:org.xml.sax.SAXParseException;lineNumber: 9; columnNumber: 6;不允許有匹配 "[xX][mM][lL]"的處理指令目標。


  

  出現這個錯誤是因為web.xml檔案配置錯誤,錯誤原因可能有兩個,任何一個出錯,都會出現上述的外掛錯誤:


原因一:自動生成的Maven專案配置檔案web.xml有如下配置:

<?xml version="1.0" encoding="UTF-8"?>   

<!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>……</web-app>

但是自動生成的DOCTYPE 預設2.3的版本,會自動關閉EL表示式語言,不支援該語言,所以要替換成2.4的版本,所以將上述程式碼替換成如下所示:

<?xml  version="1.0"  encoding="UTF-8"?>

<web-app  version="2.4"  xmlns="http://java.sun.com/xml/ns/j2ee"

                   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

                  xmlns:web="http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"

                xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee

                                                       http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

……

</web-app>


原因二:配置檔案語言書寫很嚴格,在剛開始的地方必須服從預設程式碼,不要新增自己的註釋內容,可以在其他地方新增註釋,如下所示內容會出錯:


應該將開頭註釋部分刪掉,首行直接預設書寫xml檔案的版本和編碼資訊:<?xmlversion="1.0"encoding="UTF-8"?>


錯誤四: Eclipse啟動報錯An internal error occurred during: "Validating ***".

連結http://blog.csdn.net/csdn_terence/article/details/53809986

ERRORAn internal error occurred during: "Validating ***".

方法1:初始化空間不夠,導致棧溢位,需要修改初始化檔案

在Eclipse安裝包的根目錄下找到Eclipse.ini檔案,修改內容如下粗體部分字型:

C:\Program Files\Java\jdk1.7.0_80\bin

--launcher.defaultAction

openFile

--launcher.appendVmargs

-vmargs

-Dosgi.requiredJavaVersion=1.6

-Xms512m

-Xmx1024m

-XX:+UnlockDiagnosticVMOptions

-XX:+UnsyncloadClass

親測有用;

方法2:刪除Workspace/.metadata/下的.mylyn資料夾,重啟eclipse就ok。

親測有用,但是過兩天又會出現這個問題,所以最好使用方法1。



錯誤總結

搭建SpringMVC框架會出現各種錯誤,一定要小心,在這次寫demo的過程中,我就遇到了很多,分分鐘有種狗帶的感覺,現在總結出來常見錯誤可能原因:

 

1、拼寫錯誤

    程式碼單詞拼寫錯誤,有的地方拼寫錯誤後,編譯的時候不會像java程式碼錯誤一樣給出編譯錯誤提示,例如pom.xml,web.xml等一些配置檔案就是這樣的,一不小心手滑就出錯,也很難找到錯誤在哪裡。

2、配置錯誤

    一個是一些外掛和依賴包在配置檔案中忘記配置,另外一個是配置的版本可能過老在中央倉庫下載的時候找不到,會出錯,最後一個是配置的版本可能過高,和先用的其他環境不相容不搭配,一般這種情況在外掛和依賴包的配置中很少。

3、編碼方式錯誤

       有時候因為字元編碼的問題,導致編譯不通過或者使用某個外掛出現錯誤,考慮修改編碼方式。

      修改軟體預設編碼,修改專案屬性中的編碼方式,修改網頁中的編碼,逐項檢查修改。

4、埠被佔用

    有時候執行不通過,給出一堆的紅色錯誤提示,但是看不懂,檢查了專案仍然沒有錯誤,可能是伺服器埠被佔用,可以考慮修改埠號,或者停止後臺其他執行項,一般採用後者,在控制檯停掉所有的終端服務重新執行。畢竟我們習慣使用了8080,一旦修改,可能過幾天忘記這個修改仍舊按照8080的來url,不小心就又以為出錯狗帶了。


5、

相關文章