2014-02-26 84 views
6

我創建了包裝類型爲「jar」的Maven項目,名爲「Y」 我已經完成了「Maven install」,我可以找到它在我的本地存儲庫中。項目'X'缺少必需的Java項目:'Y'

然後,我創建了另一個名爲「X」的包裝類型「war」的項目。在這個項目中,我添加了一個依賴於「Y」罐子,具體如下:

<dependency> 
    <groupId>my.pck</groupId> 
    <artifactId>Y</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <type>jar</type> 
</dependency> 

我的問題是,當我關閉項目「Y」,我收到此錯誤:

Project 'X' is missing required Java project: 'Y' 

但,它不會說「丟失的神器」......並且在所有情況下,當我嘗試部署「X」時,我得到:java.lang.ClassNotFoundException:對於我在項目「Y」中使用並在項目「X 「...

+3

這可能與你從一個像eclipse或其他IDE一樣的工作有關嗎?嘗試從命令行運行'mvn clean install'。看看你是否得到相同的錯誤... –

回答

19

謝謝@Eldad,您的評論幫助我發現問題。

在Eclipse IDE中: 右鍵點擊「X」項目>構建路徑>配置構建路徑>項目>檢查Y>,同時部署了X戰點擊「刪除」

現在沒有錯誤。

+0

我得到這個相同的錯誤。在我的情況下,「遺漏」項目需要保持在我的代碼工作的構建路徑中;但由於某種原因,Eclipse表示它缺少了。所以我按照你的指示將它從構建路徑中移除。錯誤來了;但之後我恢復了這一變化,之後就發生了變化!奇怪的。 – Joe

1

此錯誤消息表示您的一個eclipse項目對另一個項目有依賴性。你還沒有設置或哪些未打開。修改Eclipse構建路徑,以便不再需要其他項目(將該依賴項替換爲對所使用的代碼/資源的jarfile或其他源代碼的引用),或者設置該項目。

3

我以前見過這個錯誤;您提到了eclipse,所以它可能與將Eclipse項目從一個工作區移動到另一個工作區有關。

檢查.classpath.project文件鏈接到無效的目錄資源;根據需要進行調整:

<linkedResources> 
    <link> 
     <name>.link_to_something</name> 
     <type>2</type> 
     <location>C:/Users/user/projects/someproject/plugins</location> 
    </link> 
</linkedResources> 
1

OK,如果上述方法無效,請嘗試以下。它爲我工作。

道德故事:定期保存項目的.metadata和.recommenders。它們可能有用。

爲什麼發生問題:我將項目Y添加到項目X,然後將其刪除。 Eclipse沒有正確完全刪除Y,並開始像上面那樣抱怨。

版本和配置:Eclipse霓虹燈。遺產。沒有maven等

什麼工作:0)退出日食。

1)製作X的整個目錄的副本。爲了安全起見。

2)刪除了上面兩個。目錄。

3)複製這些目錄的舊保存版本以替換已刪除的版本。

4)重新啓動的Eclipse。它做了一些常規抱怨。但我做了以下內容:

4.1)清潔 4.2)刷新 4.3)建立所有

5)它的工作。我退出並重新啓動Eclipse多次,以確保問題不再出現。到現在爲止還挺好。