【问题标题】:Include external dependencies when relying on internal module依赖内部模块时包含外部依赖
【发布时间】:2013-11-05 16:06:14
【问题描述】:
我有两个 maven 模块 - A 和 B。模块 A 依赖于外部 jar C。模块 B 依赖于模块 A。如何使模块 B 包含模块 A 所依赖的相同依赖项?
问题是我的 A 模块是一个后端,它选择一个数据库——在我的例子中是 postgresql。我不希望我的前端(模块 B)对此有任何了解......但如果我不在模块 B 中包含该 postgresql 依赖项,它将无法工作。
如何解决?
【问题讨论】:
标签:
maven
jar
module
dependencies
【解决方案1】:
模块 A 将是模块 B 的依赖项。
外部 JAR C 将是模块 A 的依赖项。
外部 JAR C 随后将成为模块 B 的传递依赖。
您可以通过模块 B 的 Maven POM 将 A 定义为模块 B 的 <dependency>。
您可以通过模块 A 的 Maven POM 将 C 定义为模块 A 的 <dependency>。
外部 JAR C 随后将成为模块 B 的传递依赖项。您可以使用诸如 mvn dependency:list on B 之类的命令进行检查。
您在这里看到的是 Maven 最基本的依赖管理,它在这方面确实很强大。
外部 JAR C 可能类似于 org.postgresql:postgresql:9.2-1003-jdbc4。