java maven 项目依赖关系,java – 关于依赖关系共享的Maven多模块项目组合
有幾個類似的問題,但沒有這樣的.你如何處理這種情況(典型情況):
一個由8-11個子項目組成的項目,具有父工件/項目和一個主要項目,主要使用/聲明其他項目作為模塊.
問題是所有項目“嚴格”只共享公共依賴項,如testng,logging,apache commons和stuff.但總是喜歡其中3個使用50-60%相同的特定deps(apache-chemistry,jackrabbit,abdera等),另外2-3個也使用50-60%相同但不同的依賴.而主要的使用了很多相同的deps.
我不能將這些“非嚴格”共享deps放入父項目中以供其他人繼承.所以只有常見的deps才會被繼承.并且有大量重復的依賴項.我只能通過< dependencyManagement>管理他們的版本.
另一個選擇是父pom包含大多數(shù)依賴項,但子項目甚至繼承了它們不需要的項.
我可以擁有多個父項目,但感覺不對.父項目的繼承也可能是噩夢,因為如果你沒有正確地記錄/評論父pom定義你不知道項目需要什么依賴項.
另一種方法是創(chuàng)建僅作為依賴容器的pom工件 – 它們聲明特定的依賴關系組,以便模塊只聲明那些以獲得傳遞依賴關系.但是,嘿,你想部署和提交某種
OneDepArtifact宣布jackrabit,abdera,化學
AnotherDepArtifact聲明htmlcleaner,google-api,tika
ThirdDepArtifact聲明spring,httpclient,selenium
這是一個巨大的混亂,我不確定我是否使用< dependencyManagement>正確地說,它似乎只對管理依賴版本有用.
我正在考慮將我的應用程序開發(fā)改編為“maven multimodule design”.但是如果你想創(chuàng)建spring服務/ bean,只使用各種庫,在一個模塊中,你不在不同的模塊中實現(xiàn)它們,只是因為它們使用其他模塊也使用的庫:-)
總結
以上是生活随笔為你收集整理的java maven 项目依赖关系,java – 关于依赖关系共享的Maven多模块项目组合的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php ip 省份,PHP有没有生成国内
- 下一篇: java 语音匹配,java-语音识别,