2014-10-29 51 views
0

我剛剛用maven生成了我的第一個父模塊項目,併成功安裝了它。我是否可以將此項目作爲另一個項目中的依賴項添加,只能通過引用父項?我的Eclipse IDE抱怨說它找不到父項.jar,但這並不奇怪,因爲它被打包爲父項.pom。我可以添加作爲除.jar之外的其他任何東西打包的Maven依賴關係嗎?

問: 所以是有可能添加父(.pom)的依賴,並得到所有傳遞依賴免費的,或者我要補充的.jar的。

紅利問題: 是否有可能向其他包裝格式添加依賴關係,如戰爭?我無法弄清楚這將如何工作,或者爲什麼我現在需要這一點。只是好奇。

免責聲明: 我仍在學習maven,並找到它的哲學和理論是偉大的。然而,似乎有很多坑和珊瑚礁出現,而且不止一次,我很難確定我是否試圖做一些不可能的事情,或者在配置I.E.中存在另一個錯誤。 Eclipse現在說它在這個特定的項目中找不到任何我的.m2引用的依賴項。我不知道爲什麼,因爲其他項目工作正常。換句話說,試圖通過檢查一個區域來找出錯誤...

回答

2

答案:是的,您可以添加不同的類型,如pom,test-jar等。罐子只是默認

獎金答:是的,你可以指定類型的戰爭以及

的Maven的指南定義了以下幾種類型:「目前的核心包裝值:POM,罐子,行家-plugin,ejb,war,ear,rar,par。「

這裏是一個POM是如何包括一個例子:

<dependencies> 
    <dependency> 
    <groupId>com.my</groupId> 
    <artifactId>comm-group</artifactId> 
    <type>pom</type> 
    </dependency> 
</dependencies> 

這(COMM-組的POM)被oftenly用於組特定的依賴關係,並且包括所有這些使用類型,聚甲醛。

以下是關於分組的其他信息:http://blog.sonatype.com/2009/10/maven-tips-and-tricks-grouping-dependencies/#.VFC7LR_JY8c請注意,您可以使用多態性創建類似的行爲。

當我們從Ant遷移時,我遇到了我的問題,並且我仍然對它有一定的關注(比如,如果80%的SWE應用了錯誤的範圍,類型等,導致巨大的缺陷,maven的優勢如果他們只是'需要添加一個fcking jar'以及由「maven guru」領導的重構)。但是,我可以保證,如果你完全通過http://maven.apache.org/pom.html,那麼隨着時間的推移,你將獲得與ANT相比的統計結果。

更新:我剛剛遇到了這樣的情況:我的pom無法在遠程構建服務器上包含,而它的工作是在Intellij Idea/Eclipse內部構建它。在我的例子中,類型定義必須是小寫的(例如'pom'而不是'POM')。

+0

這真是一個很好的答案。我甚至嘗試了規範。我已經閱讀了大部分規範,但在實際使用之前很難記住它們。這意味着,我的直覺是對的,加只是父母,而不是所有transative的依賴,而我的錯誤確實是從其他地方:) 未來我敢肯定Maven會證明值得花時間學習吧!謝謝:) – KjetilNordin 2014-10-29 12:42:35

+0

@KjetilNordin非常歡迎你! :)(我知道當談到規範時的感覺......我目前正在重構大約15個應用程序的maven體系結構,每個模塊有10個以上的模塊......這是該規範第一次對我有用) – JBA 2014-10-29 14:55:41

相關問題