1. 程式人生 > >使用myeclipse tomcat外掛部署web專案時報錯 an internal error occurred during add deployment . java.lang.nullpointerexception

使用myeclipse tomcat外掛部署web專案時報錯 an internal error occurred during add deployment . java.lang.nullpointerexception

問題描述:

使用myeclipse10的tomcat外掛部署web專案時,首次部署。實際部署到了tomcat/webapps目錄下且tomcat啟動成功,但是eclipse報錯"An internal error occurred during: "Add Deployment"  : 

 

且eclipse中看不到部署的專案。重新部署按鈕也無法點選,如圖:

myeclipse中看不到部署的專案:

 

myeclipse中可以看到部署的專案如下(作為看不到專案的對比):

再次試圖部署專案時,提示如下對話方塊(感覺是雖然myeclipse部署報錯了,但是myeclipse又記住已經部署過該專案):

嘗試解決一(未成功):

網上查詢很多都是 jdk版本問題,於是嘗試修改系統環境變數、myeclipse中專案依賴的jdk版本、myeclipse中專案 java compiler的jdk版本、web專案屬性中 project facets中的jdk版本。因為本次出問題的專案是從svn上down下來的。我之前有一個工作空間,存放該專案且沒有出現此問題。所以把所有相關工程的jdk版本相關屬性都設定為和未出問題的專案一樣。但是還是報相同的錯誤

修改myeclipse中專案依賴的jdk版本,圖:

 

修改myeclipse中專案 java compiler的jdk版本,圖:

 

修改web專案屬性中 project facets中的jdk版本,圖:

嘗試解決二(成功):

步驟一:

新建eclipse的workspace,匯入之前可以部署成功工作空間中的專案及所有相關工程,可以部署成功。所以猜測是svn上的專案原始碼有問題。

步驟二:

在出問題的工作空間中,

 

1、新建web工程Test,copy問題專案的原始碼到Test工程。併為Test工程 新增問題專案的依賴工程。

 

2、部署Test專案,可以復現問題。可能問題原因1、專案的原始碼  2、問題專案依賴的工程出現了問題。

 

3、新建web工程Test2,新增問題專案的依賴工程,部署專案可以復現問題。確定是 依賴的工程出現的問題

 

4、逐個排查依賴工程,確定其中的一個依賴工程 bean 工程有問題。

 

5、使用檔案比較工具(beyond copare)與正常的bean工程比較,並逐個排查原始碼、pom.xml、配置等資料夾。確定是有無pom.xml的問題: 出問題的工程沒有pom.xml;成功的工程有pom.xml

 

步驟三

感到非常奇怪,myeclipse外掛tomcat是否deploy成功竟然和 是否有pom.xml有關。猜測可能是eclipse的bug,或者eclipse的tomcat外掛的bug!!

筆記bean工程下的其他檔案,發現出問題的專案的bean工程下.classpath檔案有maven相關的配置

<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"/>

圖:

刪除該行配置,也可以解決此問題。

總結解決方法:

 

解決方法一:

 

bean工程新增pom.xml檔案

 

解決方法二:

 

1、bean工程 刪除pom.xml檔案

 

2、bean工 程 開啟 .classpath檔案,刪除如下行

 

     <classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"/>   總結: 由於對maven和myeclipse中tomcat外掛的原理了解的不深,所以最終也無法確定問題。猜測可能是maven配置問題導致的。 如果您知道問題的確切原因或可能原因,歡迎指教!!謝謝!!   ----------------------------------------------------------------------------------------------------------------------------------- ^_^歡迎交流!!點贊請用力,拍磚請輕拍!!!