何时使用maven依赖管理和依赖关系

时间:2012-05-10 10:23:15

标签: java maven maven-2 build

何时在maven项目中使用依赖管理和依赖关系。我们正在将现有项目分解为6个独立模块。那些是

Project-core
project-DAO
project-messages
project-services
project-testing
project-web

我们计划为所有上述项目提供父项,并将公共依赖项放在那里。但我们不清楚在何处使用<dependencyManagement><dependencies>。请提供宝贵的建议。

谢谢,
Anil Kumar C

1 个答案:

答案 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>

使用来自父级的依赖项。

这将简化依赖项的更新,因为版本位于单个点,这意味着在父根中,而不是分布到不同的模块中。