2011-11-14 160 views
0

我有一個名爲Utils的Maven項目,我正在開發。我還有另一個名爲A的項目,它使用了Utils類。因此,我在A的POM中爲Utils添加了一個依賴項。我確切地說這兩個項目沒有安裝在本地存儲庫(或另一個私有存儲庫)中。當我嘗試打包項目A時,出現錯誤,因爲Maven試圖從本地存儲庫和中央存儲庫獲取Utils項目,但它不在那裏。我不想安裝該項目,因爲它不是最終的,我不想給它一個版本,因爲沒有發佈。依賴項和工作區項目

感謝

回答

0

看來Eclipse上的Maven插件提供了這種可能性。並且不需要在本地存儲庫中安裝與活動項目相對應的工件。看起來這個插件認爲這個工作空間是第二個本地倉庫(你可以使用Maven倉庫視圖來看到這個)。首先,必須啓用Workspace解析功能(右鍵單擊該項目,然後在Maven下)。當我想運行項目時,我使用運行配置嚮導,並且必須檢查「解析」工作區。

這是一個很好的解決方案嗎?我不知道它是否似乎工作,或者它真的有效。

謝謝

+0

最後,它適用於我,不需要在存儲庫中安裝項目。該工作區可能被eclipse視爲本地存儲庫。 –

0

它的安全項目安裝到本地存儲庫。只需在Utils的項目文件夾中使用mvn install即可。任何時候你做install它會被你當地的回購中的最新版本取代。

但是不要部署它,這意味着其他人可以使用它。相比之下,您的本地回購僅供您使用。

+0

在我的情況下,我不想在遠程存儲庫中安裝工件。我也想禁止這個操作。但是我想知道每個人都有可能在Maven的遠程倉庫(http://repo1.maven.org/maven2)中部署工件嗎? –

+0

'mvn install'將工件安裝在本地存儲庫中(在您的硬盤驅動器上,用戶配置文件目錄的'.m2'文件夾中)。 repo1.maven.org基本上用於開源公共圖書館。如果您的公司需要開發人員共享的回購 - 您應該安裝自己的回購,谷歌_Artifactory_或_Nexus_。 – kan

+0

是的,但我有我的工作空間與我正在處理的許多項目。按照前面的例子,每次我更改Utils代碼時,即使應用程序沒有被釋放,我也需要重新安裝這個工件。 –