我们有一个maven模块,设置如下:
a (parent)
-> b (submodule)
-> c (submodule)
-> d (submodule)
此子模块列表设置为随着时间的推移而增长(到20左右的列表)。我们有另一个模块,它将包含a的所有子模块作为依赖项。有没有一种巧妙的方法,而不是必须手动保持子模块列表与依赖项列表同步。即有没有办法将a和所有子模块包含为依赖?
答案 0 :(得分:4)
你有几个选择:
我认为选择#4可能是对的,但我对你的情况并不熟悉。
答案 1 :(得分:1)
除了设计注意事项之外,这很容易完成 - 只需在指向父pom的依赖项中包含 <type>pom</type>
。 E.g:
<dependency>
<groupId>my.group.id</groupId>
<artifactId>a</artifactId>
<version>0.0.1-SNAPSHOT</version>
<type>pom</type>
</dependency>
答案 2 :(得分:0)
依赖项“自动”包含的唯一方法是通过传递依赖机制,它只能通过引入依赖项的依赖关系来工作,所以除非你有一个依赖于所有子模块的pom,否则你不会得到他们没有全部列出来。这样做的需要指出了项目设计中的缺陷。如果模块是“全部或全部”,那么它们可能不是单独的模块。