(來自:http://www.javaeye.com/post/542981)
我的Eclipse 3.3.2 + MyEclipse 6.0.1在開啟JSP檔案時出現以下錯誤:
An internal error occurred during: "Processing Dirty Regions".
org/eclipse/wst/sse/ui/internal/reconcile/validator/ValidationHelper
An internal error occurred during: "JSP Content Validator".
org/eclipse/wst/sse/ui/internal/reconcile/validator/ValidationHelper
An internal error occurred during: "JSP Semantics Validator (JSF)".
org/eclipse/wst/sse/ui/internal/reconcile/validator/ValidationHelper
An internal error occurred during: "JSP Syntax Validator".
org/eclipse/wst/sse/ui/internal/reconcile/validator/ValidationHelper
這是一些網上的解決方案:
一. 這是由於外掛程式org.eclipse.wst.sse.ui所致,myeclipse中的這個外掛程式是修改過的zmyeclipse版本(在 myeclipse安裝目錄/eclipse/plugins中),但之後自動升級功能下載了更新版本的未修改版外掛程式(在原eclipse的plugin 中),所以myeclipse據版本號碼判斷載入了更新的外掛程式。
但myeclipse的運行依賴修改版本的外掛程式添加的一些功能,可是新的外掛程式未包含這些功能。
如錯誤中出現的org/eclipse/wst/sse/ui/internal/reconcile/validator/ValidationHelper.class,其實在未修改版本中根本不存在這個類,所以出錯。
解決方案:將原eclipse中plugins中的org.eclipse.wst.sse.ui_1.x.xxxxxxx.jar挪到其他地方。
二.
有更好的解決方案
myeclips中,到Help -> Software Updates -> Manage Configuration
展開後有兩項,一項是原有eclipse,一項是myeclipse,展開原有eclipse,
右鍵選中Web Standard Tools(WST)xxx那一項,disable,重啟myeclipse
我的解決方案:
但在我的原eclipse中根本找不到上面所說的那個檔案,我於是懷疑是我安裝的其他外掛程式的問題,終於我找到了問題的所在,原來是我的JBPM流程設計器外掛程式和myeclipse外掛程式產生了衝突的問題,根據上面所說的解決方案,我認為myeclipse不但會和eclipse本身產生衝突,還會和 eclipse安裝的其他外掛程式產生問題,我在我安裝的所有外掛程式的目錄中尋找org.eclipse.wst.sse.ui這個關鍵字,結果在JBPM流程設計器的plugins目錄中找到了org.eclipse.wst.sse.ui_1.0.305.v200802142230.jar這樣一個檔案,所以我懷疑是這個檔案搞得怪,我把該檔案移到其他地方,並把eclipse的configuration目錄下除config.ini檔案外全部刪掉,這樣可以讓eclipse回複到初始狀態,重新啟動eclipse,開啟JSP檔案看看,終於可以了,eclipse不在報錯,完全正常。
通過這個解決過程,我明白了eclipse的一些原理,eclipse的外掛程式會和eclipse本身產生衝突,而且eclipse的外掛程式之間也會相互產生衝突, eclipse外掛程式總是會啟用最新更新下載的外掛程式類,這樣就會產生一個問題,其他的外掛程式會不會相容這個更新的外掛程式類。從這個解決過程我也明白了以後出現類似的問題,可以從安裝的eclipse的外掛程式入手來解決。