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包含大多数依赖项,但子项目甚至继承了它们不需要的项.

我可以拥有多个父项目,但感觉不对.父项目的继承也可能是噩梦,因为如果你没有正确地记录/评论父pom定义你不知道项目需要什么依赖项.

另一种方法是创建仅作为依赖容器的pom工件 – 它们声明特定的依赖关系组,以便模块只声明那些以获得传递依赖关系.但是,嘿,你想部署和提交某种

OneDepArtifact宣布jackrabit,abdera,化学

AnotherDepArtifact声明htmlcleaner,google-api,tika

ThirdDepArtifact声明spring,httpclient,selenium

这是一个巨大的混乱,我不确定我是否使用< dependencyManagement>正确地说,它似乎只对管理依赖版本有用.

我正在考虑将我的应用程序开发改编为“maven multimodule design”.但是如果你想创建spring服务/ bean,只使用各种库,在一个模块中,你不在不同的模块中实现它们,只是因为它们使用其他模块也使用的库:-)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值