我有這個奇怪的問題,使得我的項目基於Maven。我在Eclipse中創建了一個新的Maven項目並啓用了Dynamic Web構面。但是在運行時現在它會拋出ClassNotFoundException
,因爲Maven依賴不會被複制到WEB-INF/lib
目錄中。我甚至嘗試在POM中添加複製依賴關係部分,但它沒有幫助。在WEB-INF/lib中不可見的Maven依賴關係
有人here似乎已經解決了這個正確的方式,但我猜他忘了提解決方案::(
我有這個奇怪的問題,使得我的項目基於Maven。我在Eclipse中創建了一個新的Maven項目並啓用了Dynamic Web構面。但是在運行時現在它會拋出ClassNotFoundException
,因爲Maven依賴不會被複制到WEB-INF/lib
目錄中。我甚至嘗試在POM中添加複製依賴關係部分,但它沒有幫助。在WEB-INF/lib中不可見的Maven依賴關係
有人here似乎已經解決了這個正確的方式,但我猜他忘了提解決方案::(
這應該什麼都沒有做,用eclipse和m2eclipse的,和可選的更好的支持 - m2e-wtp。此外,你不需要複製依賴。這裏有幾個可能的原因:
mvn package
(或右鍵點擊>的Maven>包),並獲得戰爭的文件 - 在<packaging>
(在POM)必須war
provided
或test
他們將不會包含在檔案中)如果和你只有當我可以upvote你兩次人......我看了很多地方和博客,甚至一些SO問題....所有這些誤導......浪費大約6小時直接爲此...感謝的人 – 2011-05-21 19:07:54
哪三個呢? :) – Bozho 2011-05-21 19:10:32
第三個剛剛使我的日子 – 2011-05-21 19:13:44
檢查項目的部署大會財產我已經看到了一些mvn eclipse:eclipse
產生Eclipse項目有時資產被部署到錯誤的位置。從我能記住新部署大會有一些問題與早期版本的Eclipse 3.6(太陽神)的。
首先安裝Maven的整合對於Eclipse WTP(幫助 - > Eclipse的市場)
在Web項目的pom.xml然後只需添加:
<packaging>war</packaging>
之後恰到好處點擊項目,Maven - > Update Project,它應該在部署程序集中爲你自動添加Maven Dependencies。
謝謝你的評論。你節省了我的調試時間。 – DigitalGhost 2012-12-31 07:42:01
+1這也適用於我。如果沒有它,Maven會將依賴項打包爲一個jar文件,而您不希望這樣做,您希望將所有依賴項打包成一個war類型的文件。這有很多其他的影響,閱讀更多https://maven.apache.org/pom.html – 2015-04-13 21:56:03
maven - >更新項目也爲我工作。在Eclipse Luna版本中似乎是必需的 – kandan 2016-04-20 22:21:48
我只是做了maven - >更新項目爲我工作。
右擊項目>的Maven>更新Maven項目>確定固定對我來說
如果你看看你的部署,並看到WEB-INF/lib下是空的Maven的依賴關係,然後確保這些Maven依賴在你選擇的答案中提到的部署組件至關重要。
但是要小心Eclipse,然後即使使用Maven更新也不會刷新所有內容。如果您清理,重建和重新部署,但仍未看到正在填充的lib文件夾,請嘗試通過服務器>添加和刪除來刪除應用程序並重新添加到服務器部署。
這爲我打開了系統。
右鍵單擊項目 - >部署程序集: 查看您是否擁有Maven Dependencies以及其中的所有其他人。 如果沒有, 右鍵單擊項目 - >的Maven - >啓用工作空間分辨率
(也許那時的Maven - >更新項目,但再看看「部署大會」,看看你有) 此爲我解決了它(終於!)。
嘗試最新的m2eclipse插件。我認爲它有兩個部分,它幫助我在eclipse類路徑上獲得Maven依賴關係。 – xecaps12 2011-05-21 18:08:49
我沒有得到它......兩部分? – 2011-05-21 18:15:20
爲了讓maven play與wtp很好,我必須安裝核心和從這裏額外的:http://m2eclipse.sonatype.org/installing-m2eclipse.html – xecaps12 2011-05-22 02:01:26