當我使用外部tomcat時,一切都很好。但我需要在內部的eclipse tomcat服務器上部署我的項目,以便能夠使用DCEVM類的熱插拔。 當我嘗試從eclipse中啓動tomcat服務器時,它說它無法找到我在我的spring安全配置文件中提到的服務類中的一個作爲bean。 我也嘗試添加項目到tomcat類路徑,但它並沒有解決我的問題。無法將我的spring web項目部署到eclipse內部tomcat服務器上。(在tomcat啓動時發生java.lang.ClassNotFoundException)
UPDATE
我發現了這個問題,是因爲當我部署我的web項目到Eclipse Tomcat服務器,沒有任何的.class複製到:
C:\Users\Meysam\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\villapweb\WEB-INF\classes
其實
,這個文件夾包含了我src/java/main包結構,但沒有.class被複制。
lib文件夾中是好的,雖然(例如,在路徑Maven和其他的東西拷貝所有依賴它應該)
我覺得可能是什麼問題M2E-WTP插件。我不知道!
我正在使用eclipse 4.3順便說一句。
解決
我解決以下步驟此問題:
- 在Eclipse項目中右鍵點擊>屬性>項目構面在右側面板中選擇運行時間
- ,並選擇目標服務器。應用並確定。
- 在服務器模塊列表中右鍵單擊項目模塊上,然後單擊清潔模塊的工作目錄
- 在服務器上單擊鼠標右鍵本身可以清除服務器和Tomcat的工作目錄陸續
- 如果沒有工作,請嘗試項目>清理,並在項目菜單項下切換「自動生成」選項。
就是這樣。 tomcat現在將所有的.class文件複製到目標服務器,並且在tomcat啓動時看不到ClassNotFound異常。
謝謝!這對我有效。不過,我很好奇,如果有人知道爲什麼一個項目默認不會有這個配置。我已經使用Eclipse十多年了,這是我第一次聽說過「Project Facets」配置頁面。這是我第一次使用Spring的Eclipse版本,所以也許這就是我遇到這個問題的原因。 – Brel
您提到了「服務器模塊列表和項目模塊」。你能告訴我它在哪裏嗎? – greencheese