何时在maven项目中使用依赖管理和依赖关系。我们正在将现有项目分解为6个独立模块。那些是
Project-core
project-DAO
project-messages
project-services
project-testing
project-web
我们计划为所有上述项目提供父项,并将公共依赖项放在那里。但我们不清楚在何处使用<dependencyManagement>
和<dependencies>
。请提供宝贵的建议。
谢谢,
Anil Kumar C
答案 0 :(得分:3)
根据您的想法,我会建议以下文件夹结构:
+-- ProjectParent
+-- Project-core
+-- project-DAO
+-- project-messages
+-- project-services
+-- project-testing
+-- project-web
导致有一个父(ProjectParent),它应该包含dependencyManagement部分,用它们的相应版本定义依赖关系:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>testng</groupId>
<artifactId>testng</artifactId>
<version>6.3.1</version>
<scope>test</scope>
</dependency>
...
</dependencies>
</dependencyManagement>
在每个模块中,您需要父级引用父级:
com.company.project 项目的父 1.0.0-SNAPSHOT
并在模块中定义
<dependencies>
<dependency>
<groupId>testng</groupId>
<artifactId>testng</artifactId>
</dependency>
..
</dependencies>
使用来自父级的依赖项。
这将简化依赖项的更新,因为版本位于单个点,这意味着在父根中,而不是分布到不同的模块中。