2011-09-28 42 views
1

我正試圖在不同的Eclipse Java項目中開發我的應用程序,其中每個項目都包含某個特性。然後我想將它們合併到一個完整的Java項目中。如何鏈接Eclipse中的兩個或更多項目?

但是,鏈接源代碼時出現問題。

子項目可以正確引用父項目類,但是父項目訪問的某些源文件無法在子項目中識別。

我有一個工作空間/ ParentProject/src/main/resources /文件,其中在ParentProject中我正在使用Java中的「src \ main \ resources \」進行訪問。

然而,在運行時ChildProject拋出一個異常,他們不能訪問該文件:文件:/ E:/ Eclipse的%20workspace/ChildProject/src目錄/主/資源/文件'

所以,使用時,從ChildProject的ParentProject的方法,類路徑有點轉移到ChildProject。我的問題是如何解決這個問題。

我希望我明確了問題所在,並且對於任何幫助都會非常感激。

問候,

斯托

順便說一句:這說明有How to link project in eclipse,但我仍然有錯誤,孩子的項目無法訪問由父項目訪問的資源。

回答

3

雖然我不完全確定你需要做什麼,但聽起來我試圖創建循環依賴關係,這是一種反模式。您希望避免在項目a依賴於項目b的情況下創建依賴關係,但項目b也取決於項目a。如果您提供關於您的用例和您正在嘗試創建的更多詳細信息,我將很樂意爲您如何構建您的依賴關係提供一些指導。

希望這會有所幫助。

+0

好的,我應該再解釋一遍,因爲之前的帖子帶來了一些困惑。我在以下目錄中有一個項目ProjectModel:workspace/ProjectModel/src ...我有一個文件夾,我保存資源文件:workspace/ProjectModel/src/main/resources /。 ProjectModel源代碼構建路徑包含:ProjectModel/src/main。我正在通過「src \ main \ resources \」訪問Java資源文件夾中的文件。我正在創建一個應該使用模型項目併爲其提供視圖的ProjectView。但是,視圖項目無法訪問Model的「src \ main \ resources」文件夾。 – Petar

+0

你應該儘量避免直接加載資源。有關從Eclipse插件加載資源的信息,請參閱http://www.vogella.de/blog/2010/07/06/reading-resources-from-plugin/。要通過Java項目中的Classloader加載資源,請參閱http://www.javaworld.com/javaworld/javaqa/2003-08/01-qa-0808-property.html。 –

+0

順便說一下,使用ClassLoader.getResourcesAsStream(「路徑」)只能在項目中包含「路徑」作爲引用庫時才能在Eclipse中工作。糾正我,否則可以做。 – Petar

3

右鍵單擊父項目,然後單擊屬性。然後點擊左側的Java Build Path。接下來點擊項目標籤。如果不是「添加子項目」,請確保將「子項目」選定爲所需項目。

您還應該爲父項目執行此操作。

+0

我很困惑你說的話。如果你的意思是我應該添加子項目作爲父項目和父項目的依賴項作爲子項目的依賴項,那麼我在兩個項目上都會得到一個紅色的問號,表示出現錯誤。不過,我仍然有同樣的錯誤。正如我所說的,我已經將父項目作爲必需項目放置在子項目的Java Build Path屬性部分中。 – Petar

+0

你的父母的孩子比喻讓我困惑。基本上你有一個項目依賴於另一個項目。我認爲你可能已經向後連接了依賴關係。另一個項目不需要任何類別的項目應該依賴於另一個項目。 –

+0

「不需要任何其他項目的類的項目應該依賴於其他項目」是的,這正是我所做的,但由於某種原因資源文件夾無法訪問 – Petar

相關問題