2012-03-12 171 views
0

我在Eclipse中有一個maven項目,它具有作爲依賴關係的另一個項目,我在本地倉庫中安裝了mvn clean install。在POM依賴關係:Eclipse中的Maven Indigo,運行時的項目依賴項

<dependency> 
    <groupId>com.mycompany</groupId> 
    <artifactId>mydependency</artifactId> 
    <version>1.0.0</version> 
</dependency> 

當我在tomcat的Eclipse中運行該項目,運行在服務器,它運行良好。如果我沒有在Eclipse(mydependency)加載的其他項目。如果我在eclipse中導入mydependency作爲maven項目(我需要進行調試),但項目在運行時會失敗ClassNotFoundException。它找不到my dependency項目的課程。 我在做什麼錯?

P.S.我試着在eclipse平時,清除,刪除,重新導入項目,切換工作區,刪除/重建的tomcat,甚至交換Eclipse安裝...

+0

除了在Eclipse中導入mydependency項目,你做了什麼?只要導入一個項目不應該影響現有的項目構建配置,除非您明確地更改現有項目的某些內容。 – yorkw 2012-03-13 00:34:04

+0

你在使用m2e嗎?如果是這樣,你運行'更新項目配置...'嗎? – Raghuram 2012-03-13 04:16:50

+0

不,我不記得改變,哪些文件會描述場景中的變化?是的,我正在使用m2e,更新項目配置不能解決問題。謝謝 – isah 2012-03-13 07:45:09

回答

1

解決方案一: 選擇你的項目right-click-> Maven -> Disable workspace resolution

現在,當您調試時,調試器會找到jar文件 - 而不是源文件。你必須附上源代碼庫(選擇Java項目)

解決方法二

在Tomcat作爲戰爭文件和調試遠程運行項目。

解決方案三

安裝JD-Eclipse。這很有幫助,但有時代碼行與反編譯不同。

+0

謝謝Ajozwik,第一個解決方案似乎來得方便,我可以調試,但我想知道原因,因此我不會接受一個更多的答案,看看是否有人來與另一個答案。 – isah 2012-03-13 07:42:53

+0

歡迎你。我認爲當tomcat嘗試從WEB-INF/lib加載時,eclipse classloader從項目加載類。閱讀關於tomcat類加載器。 – 2012-03-13 07:51:06

相關問題