【发布时间】:2014-08-11 12:46:24
【问题描述】:
我有简单的 Maven 项目结构:
mainProject
|-- subProject1
| |-- subSubProject
|-- subProject2
关键是我的 mainProject 包含每个子项目中使用的依赖项(这些依赖项对于每个子项目都是通用的),但我不希望它们在编译和构建时包含在我的 WAR 文件中(提供范围)。另外,我不想在每个子项目中声明依赖项,因为我已经在 mainProject 中声明了它们。
WAR 文件在其构建文件中包含所有子项目库。
谢谢
【问题讨论】:
-
你能更详细地描述你的问题和你想要什么吗?您尝试过哪些还没有做到这一点的方法?
-
mainProject 只是一个简单的父 pom,它包含其他子项目的依赖项?你问的有点含糊。
-
是那些 3rd 方 jar 还是您内部项目特定的 jar。 ? - 谢谢
-
每个项目都是一个jar并且有自己的依赖。 mainProject 只是一个“普通”项目,辅助类用作所有其他子项目的依赖项。 mainProject 还包含 subProject1、subSubProject、subProject2 和所有其他 subProject(共享依赖项)中所需的依赖项。我将这些依赖项声明为 scope=provided,因为我不希望它们被放置在我的 webapp WEB-INF/lib 文件夹中(它们太多),但是其他子项目需要它们。提供的范围不允许传播依赖关系,我正在寻找绕过它的方法。
-
管理不同类型的依赖项及其版本最简单的方法是拥有一个包含其他子项目信息的父 pom.xml,在每个子项目中指定必要的依赖项并从父母 pom。如果您需要有关如何执行此操作的更多信息,请告诉我