Maven回购模块和父级处于同一级别

时间:2018-07-21 17:19:17

标签: maven

我用父pom和模块pom创建了一个简单的maven项目。当我执行mvn全新安装时,我注意到父级和模块处于同一级别。

本地存储库中项目的结构:

-parent folder
-module folder

虽然我希望这样:

-parent folder
   +—-module folder

这正常吗?

在这种情况下,如果两个模块具有相同的名称会发生​​什么?

1 个答案:

答案 0 :(得分:1)

假设您正在谈论通常位于~/.m2/repository的本地存储库,是的,这很正常。您必须区分存储库中的文件夹布局和开发的文件夹布局。

this question中所述,工件始终根据其坐标(groupIdartifactIdversion)处于文件夹结构中。

groupIdSplitAtDots/artifactId/version

某些工件是否是另一个工件的模块与本地存储库的目录布局完全无关。

如果有工件com.organisation.topic:artifact-parent:1.2com.organisation.topic:artifact-module1:1.2com.organisation.topic:artifact-module2:1.2,文件夹结构将为:

com
|-- organisation
    |-- topic
        |-- artifact-parent
            |-- 1.2
        |-- artifact-module1
            |-- 1.2
        |-- artifact-module2
            |-- 1.2

请注意,对于开发来说,将父模块放在父文件夹中通常是个好主意,这样的布局如下:

artifact-parent
|-- artifact-module1
|-- artifact-module2

根据您的第二个问题,不允许使用相同的模块名称(artifactId s)。关于artifactId the docs状态:

  

该工件的标识符,在由组ID给出的组中是唯一的。