我有以下3个maven模块:
service
client
interface
此外,我还有以下两个maven工件:
general-parent
general-parent-dependency
3个模块都继承自general-parent
,如下所示:
<parent>
<groupId>com.mycompany.app</groupId>
<artifactId>general-parent</artifactId>
<version>1</version>
</parent>`
general-parent-dependencies
包含<dependencies/>
和<dependencyManagement/>
部分。
3个模块应全部导入<dependencyManagement/>
,但只有service
模块应导入<dependencies/>
。
我想将general-parent-dependencies
添加到general-parent
,就像这样:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.mycompany.app</groupId>
<artifactId>general-parent-dependencies</artifactId>
<version>1</version>
<scope>import</scope>
<type>pom</type>
</dependency>
<dependency>
<groupId>com.mycompany.app</groupId>
<artifactId>general-parent-dependencies</artifactId>
<version>1</version>
<type>pom</type>
</dependency>
</dependencies>`
</dependencyManagement>
因此,client
我可以在没有版本的情况下引用general-parent-dependencies
,所有模块都会<dependencyManagement/>
继承自general-parent
。
但它不起作用。是不是可以像我一样在<dependencyManagement/>
中列出与依赖项相同的工件 - 第一次使用import
范围,第二次使用默认范围(compile
)?
答案 0 :(得分:2)
如果在父pom中声明依赖项,所有子模块将继承这些依赖项。
如果只想在子模块的某些中使用依赖项,则需要将它们传输到子模块,或者需要将它们包装到配置文件中并仅在某些子项中激活此配置文件模块。