首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有关依赖项共享的Maven多模块项目组合

有关依赖项共享的Maven多模块项目组合
EN

Stack Overflow用户
提问于 2011-06-14 18:00:32
回答 3查看 4K关注 0票数 5

有几个类似的问题,但没有像这样。如何处理这种情况(典型场景):

一个由8-11个子项目组成的项目,有一个父项目/项目和一个主要项目,主要使用/声明其他项目为模块。

问题是,所有项目“严格地”只共享公共依赖项,比如testng, logging, apache commons and stuff。但与3一样,它们中的3种使用50%-60%相同的特定deps (apache-化学、野兔、abdera等),另外2-3种也使用50%-60%的相同但不同的依赖。而主程序使用的是许多相同的deps.

我不能把那些“非严格的”共享deps放到父项目中,让其他人继承它们。所以只有普通的代言人才是遗传的。而且还有很多重复的依赖关系。我只能通过<dependencyManagement>来管理他们的版本。

另一种选择是让父pom包含大部分依赖项,但是子项目继承的甚至是他们不需要的。

我可以有一个以上的家长项目,但感觉不对。此外,来自父项目的继承可能是一场噩梦,因为如果不正确地记录/注释父pom定义,您就不知道项目需要什么依赖项。

另一种方法是创建仅作为依赖容器的pom构件--它们声明特定的依赖组,这样模块就可以声明这些组件以获得传递的依赖关系。但是,嘿,你愿意部署并提交某种

OneDepArtifact声明jackrabit, abdera, chemistry

AnotherDepArtifact声明htmlcleaner, google-api, tika

ThirdDepArtifact声明spring, httpclient, selenium

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

我正在考虑将我的应用程序开发适应"maven多模块设计“。但是,如果您想创建spring服务/bean,只使用不同的库,在一个模块中,您不会在不同的模块中实现它们,仅仅是因为它们使用的是库,而其他模块也使用:-)

EN

Stack Overflow用户

回答已采纳

发布于 2011-07-19 17:57:29

Maven 3.1应该通过引入"mixins“来解决这个问题。与此同时,我似乎可以通过适当使用概要文件获得大多数所需的特性,正如我在这篇博客文章中所描述的那样:

http://weblogs.java.net/blog/fabriziogiudici/archive/2011/07/19/maven-pom-composition-means-profiles

请让我知道你是否觉得它有用。

票数 3
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6347913

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档