始终将工件 ID 附加到组 ID?

Allways append the artifact id to the group id?

我使用 Maven 有一段时间了,但我不确定是否总是建议在组 ID 的末尾写工件 ID,尽管它是重复的,因为 Maven 坐标会包括组 ID 的串联、工件 ID 和版本。

例如,给一个 java 项目包 com.example.helloword 我总是这样做:

<groupId>com.example.helloword</groupId>
<artifactId>hello-word</artifactID>
<version>0.0.1-SNAPSHOT</version>

在某些情况下,最好不要将工件 ID 放在组 ID 中,我想到的是项目是否是共享模块。例如,与 helloword:

一起使用的实用程序模块
<groupId>com.example.helloword</groupId>
<artifactId>utilities</artifactID>
<version>0.0.1-SNAPSHOT</version>

是否正确?还是我应该将工件 ID 附加到组 ID?

您应该将 artifactId 附加到 groupId。 GroupId 用于收集不同的相关工件。您不必为每个工件创建自己的 groupId。

包名以 groupId 开头通常是个好主意。但是包名可以(而且通常)更长。

一般来说,您应该将 artifactId 附加到 groupId。

但我认为这有点取决于项目的大小。 作为 Maven documentation on naming says

A good way to determine the granularity of the groupId is to use the project structure. That is, if the current project is a multiple module project, it should append a new identifier to the parent's groupId. For example,

org.apache.maven, org.apache.maven.plugins, org.apache.maven.reporting