根据您的想法,我建议以下文件夹结构:
+-- 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>
使用来自父级的依赖项。
这将简化依赖关系的更新,因为版本位于单个点中,这意味着在父根中而不是分布到不同的模块中。