2014-07-03 49 views
2

我通過轉至意外地將我的項目轉換爲Maven配置>轉換爲Maven項目。現在我想撤消這個。我read,我需要點擊右鍵Maven>禁用Maven自然和那工作得很好。但是我想完全刪除Maven,所以我刪除了pom.xmltarget文件夾。當我嘗試運行我的代碼時,我得到的錯誤:在從Eclipse項目中刪除Maven自然文件和文件(pom.xml,target /)後,「無法找到或加載主類」

Error: Could not find or load main class 

那麼我錯過了什麼?如何從Maven項目恢復到非Maven項目?

+0

你是什麼意思「運行你的代碼」?你打開主課並點擊F11? – nablex

+0

沒錯,我嘗試以任何方式執行它 –

+0

檢查主類的運行配置。 – nablex

回答

1

它基本上是一個Maven項目,也就是說,您是否擁有並通過pom.xml來維護它?然後,我的建議是在Eclipse中刪除項目,但將文件保留在磁盤上(即將其從工作區中刪除)。然後,運行一個簡單的mvn eclipse:clean eclipse:eclipse,它創建一個簡單的Java項目,其中不包含基於POM的Maven特性(因此庫鏈接並且源/目錄設置正確 - 這可能會解決您的問題ClassNotFoundError)。

如果它是一個簡單的Java項目,我會建議從工作區中刪除它,去除.classpath.project文件,並用再次導入它創建基於現有源代碼嚮導的Java項目。

無論哪種方式,讓你的項目的備份你開始做任何事情:-)

+0

謝謝,第二種方法運行良好:)我只是刪除了pom.xml和target文件夾,刪除了.classpath和.project建議並遵循步驟[此處](http://stackoverflow.com/a/9280568/1482644)導入項目。謝謝! –

+0

如果這是一個Maven項目,CC Inc爲什麼要刪除pom.xml?恕我直言,從問題很明顯,pom.xml只是偶然創建的。 – oberlies

+0

基本上有2種使用Maven項目的方式,Eclipse的Maven插件或Maven的Eclipse插件(呵呵,好的命名,對嗎?)。通過第二種選擇,您正在使用一個沒有Maven特性的普通Java項目。每次觸碰POM時,都會重新生成Eclipse項目描述符。這就是爲什麼我建議第一個選擇。可能這對你來說很清楚,但對我來說不是這樣 - 這就是爲什麼我問:-) – rlegendi

2

之前當您將Java項目在Eclipse中Maven項目,Maven的集成爲Eclipse(m2eclipse的)配置的Java增量編譯器將編譯後的類文件放在與Maven相同的位置,即target/classes

因此,當您刪除Maven自然並刪除target文件夾時,您現在也刪除了已編譯的類文件,並且您的項目不能再運行。據我所知,當你刪除它的輸出文件的增量編譯器沒有檢測,所以你需要一個觸發通過清潔項目重建(項目>清潔...

這將解決這個問題,你不能啓動您的項目,但可能會重新創建一個target文件夾。如果您還希望這是「固定」,您可以切換回二進制文件的其他文件夾名稱,例如bin,項目的Java Build Path配置選項卡。

+0

啊,好吧。這很有道理,謝謝你爲我清理那個點:) –

相關問題