maven java管理_java – 依赖管理与maven
我最近成了Maven的大粉絲,用于控制我的應用程序的構建周期.然而,我遇到了一些粗暴的邊緣與Maven的依賴管理.我想知道這些是否是工具和范例的限制,依賴管理的必要的邪惡,或者我是否使用錯誤的工具.
>首先是傳遞依賴關系的問題.據(jù)了解,如果您提供依賴關系,Maven將依次找到依賴關系.這是偉大的,但對于我的許多依賴,這沒有奏效.例如,在我的項目中包括Hibernate:
org.hibernate
hibernate-core
3.3.2.GA
導致slf4j的依賴關系丟失.我需要手動添加這個依賴關系,我認為這將是Maven的工作.春天也一樣.如果我將Spring-MVC添加為依賴關系,那么不應該為我添加所有基本的servlet依賴關系(因為Spring-MVC需要這些東西)?我指的是servlet,jsp,jstl庫.
>二是倉庫的管理. Maven附帶了一個默認的主存儲庫,但是我發(fā)現(xiàn)在許多情況下,這個存儲庫不是最新的.例如,如果你想要spring3,你必須手動添加springource存儲庫,如果你想要hibernate 3.5,你必須添加jboss存儲庫.當您必須自行追查正確的存儲庫時,似乎打破了自動依賴關系管理的要點.這個狩獵很快就會變得復雜.例如添加Spring3,您可能希望春季發(fā)行回購,春季外匯回購和春季里程碑式回購.
>與第2號密切相關的是確保您具有正確版本的工件.通過為給定的工件包含錯誤的依賴工件的版本,我已經被燒了幾次.例如對于spring3的servlet / jsp / jstl apis的錯誤版本,或者hibernate的持久性/注釋apis的錯誤版本.這些存儲庫充滿了許多版本,其中有些是令人困惑的名稱,如productx-3.ga,productx-3-rc1,productx-3-SNAPSHOT,productx-3-cr,product-3-beta等.其中一些是顯而易見的(rc = release候選),但是嘗試確定這些版本的順序可能會令人困惑.
>最后,類型的問題依賴.我可能只是不太了解這個,但是很多repo工件是類型“pom”而不是“jar”.幾次我已經在我的項目中添加了一個依賴項jar,只能在構建時找到repo jar實際不存在(例如,在jboss repo中是org.hibernate ejb3-persistence).
通過一些實驗,我通常可以得到一個構建工作,但是依賴管理一般這個復雜?我仍然喜歡這種方法手動添加jar文件到我的項目,但我有興趣了解如何提高我的maven依賴管理技能.
總結
以上是生活随笔為你收集整理的maven java管理_java – 依赖管理与maven的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: sql获取日期相差天数oracle,找到
- 下一篇: python 二进制数 转字符串_Pyt