【问题标题】:When to use maven dependencymanagement and dependencies什么时候使用maven依赖管理和依赖
【发布时间】:2012-05-18 21:50:58
【问题描述】:
什么时候在maven项目中使用依赖管理和依赖。我们将现有项目分解为 6 个独立的模块。那些是
Project-core
project-DAO
project-messages
project-services
project-testing
project-web
我们计划为上述所有项目建立父级,并将公共依赖项放在那里。但是我们不清楚在哪里使用<dependencyManagement> 和<dependencies>。请提出宝贵的建议。
谢谢,
阿尼尔库马尔C
【问题讨论】:
标签:
java
maven
maven-2
build
【解决方案1】:
根据您的想法,我建议以下文件夹结构:
+-- 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-快照
并且在你刚刚定义的模块中
<dependencies>
<dependency>
<groupId>testng</groupId>
<artifactId>testng</artifactId>
</dependency>
..
</dependencies>
使用父级的依赖项。
这将简化依赖关系的更新,因为版本位于单个点中,这意味着在父根中,而不是分布到不同的模块中。