
Maven GroupId简介
Maven groupid是项目组的ID。一般来说,组ID在所有项目中都是唯一的。组ID可以确定我们的项目在所有项目中是唯一的,所以我们需要执行命名模式。在执行模式时,我们需要遵循包名的规则,所以我们可以说这是一个我们使用的域名。
什么是Maven GroupId?
Maven群组ID用于从所有其他项目中唯一识别我们的项目。组ID遵循java包名的规则,所以我们可以说,它将通过使用保留的域名开始。Maven没有执行这一规则,有多个遗留问题没有遵循这一惯例,而我们使用的是单字的组ID。我们很难获得单字组ID,而这个组ID是由maven的收录和中央仓库批准的。
在使用maven组ID时,我们可以根据我们的要求创建多个子组。确定组ID粒度的最好方法是使用项目的结构。maven项目的配置是通过使用项目对象模型完成的,该模型由文件名pom.xml表示。pom将描述项目所管理的依赖关系,它也被用于构建软件的插件配置。pom XML文件还定义了多模块项目之间的关系。
主要启示
- pom.xml是maven默认的XML,所有的pom都继承自默认或父级。这个pom只不过是默认继承的默认pom而已。
- Maven groupid使用默认pom来执行maven groupid中定义的相关目标。
Maven GroupId的命名
在使用maven groupid时,重要的是我们不需要从类文件中挑选名字,它会自动从java文件的1:1映射中获取名字。Maven要求我们选择两个名字,所以这对我们来说非常简单。为了定义Maven的分组命名,我们需要按照以下步骤进行。
- 在这一步,我们要在spring initializer中创建项目模板。下图显示了maven分组命名项目的模板,如下所示。
组名 - com.groupid 工件 - maven_groupid
名称 - maven_groupid 包装 - jar
Java版本 - 8

- 创建模板后,现在我们要提取项目的文件,并在strong的工具套件中打开该文件,如下所示。

- 在这一步中,打开maven groupid的项目时,我们要检查pom.xml文件,如下所示。

- 在下面的例子中,我们定义了如下的命名规则。我们将名称定义为maven_groupid,如下所示。
代码。
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.7.3</version>
<relativePath/>
</parent>
<groupId>com.groupid</groupId>
<artifactId>maven_groupid</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>maven_groupid</name>

- 在下面的例子中,我们改变了maven的名称,同时也改变了groupid,如下所示。
代码。
<parent>
<groupId> org.springframework.boot </groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.7.3</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.maven</groupId>
<artifactId>maven_groupid</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>maven_group</name>
<description>Project for maven_groupid</description>
<properties>

Maven限制了GroupId
我们可以通过执行源代码来为我们的项目定义架构规则。Sonar包含这种类型的能力,用于指定这些规则,并根据我们项目的质量仪表盘显示违规情况。下面的例子显示了我们如何在maven中限制groupid,如下。
代码。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId> maven-groupid </artifactId>
<version> 2.5 </version>
<configuration>
<targetJdk> 1.8 </targetJdk>
<rulesets>
<ruleset> settings.xml </ruleset>
</rulesets>
</configuration>
<dependencies>
<dependency>
<groupId> maven_group </groupId>
<artifactId> RestrictionRule </artifactId>
<version> 0.0.1 </version>
</dependency>
</dependencies>
</plugin>

在下面的例子中,我们使用了一个单一的groupid限制,如下所示。我们定义了单个groupid,如下所示。
代码。
<dependency>
<groupId> maven_group </groupId>
<artifactId> RestrictionRule </artifactId>
<version> 0.0.1 </version>
</dependency>

Maven GroupId和ArtifactId
在下表中,我们定义了artifactid和group id如下。我们必须在pom.xml文件中进行同样的定义。
| 编号:Sr. No. | 组名 | 工件名称 |
| 1 | GroupId是对项目的唯一标识。 | ArtifactId是没有版本的jar的名字。 |
| 2 | GroupId有各种版本。 | ArtifactId没有任何版本。 |
| 3 | 我们在pom.xml文件中定义了GroupId。 | 我们在pom.xml文件中定义了ArtifactId。 |
| 4 | 在定义GroupId的时候,我们可以选择任何名字。 | 在定义ArtifactId的时候,我们可以选择任何名字。 |
| 5 | 我们需要用小写字母来定义GroupId的名字。 | 我们需要用小写字母来定义ArtifactId的名字。 |
| 6 | Maven没有通过使用GroupId来执行该规则。 | Maven没有通过使用ArtifactId来执行该规则。 |
| 7 | 我们已经在插件部分定义了GroupId。 | 我们在插件部分定义了ArtifactId。 |
| 8 | GroupId不过是项目的一个ID。 | ArtifactId只不过是项目的一个ID。 |
| 9 | GroupId只不过是pom.xml文件的一个元素。 | ArtifactId只不过是pom.xml文件的一个元素。 |
| 10 | GroupId指定了一个项目组的id。 | ArtifactId将指定项目的if。 |
Maven GroupId示例
pom.xml文件包含项目的相关信息。它还包含插件和目标。下面的配置,我们需要在配置文件中指定。
- 项目依赖性
- 插件
- 目标
- 构建配置文件
- 项目版本
- 邮件列表
- 开发人员
下面是POM的例子,如下所示。
示例 #1
在下面的例子中,我们将组的ID定义为maven-groupid。
代码。
<groupId>com.maven-groupid</groupId>
<artifactId>maven-groupid</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>maven-groupid</name>
<description>Project for maven_groupid</description>
<properties>


示例#2
在下面的例子中,我们使用默认的项目源文件夹作为输出目录,如下所示。
代码。
<groupId>com.maven</groupId>
<artifactId>maven_grpup</artifactId>
<version>1.0</version>
....
</reporting>
</project>


常见问题
下面是提到的常见问题。
Q1.maven GroupId中的超级POM有什么用?
**答:超级POM可以帮助开发者从pom.xml文件中指定最小的配置细节。**超级POM可以帮助我们的开发者从pom.xml文件中指定最小的配置细节,该文件中的配置被覆盖了。
Q2.maven GroupId的用途是什么?
**答:GroupId是唯一能识别所有的组。**GroupId可以唯一地识别所有项目。组ID是从反转域开始的。Maven不执行这类规则,有多个项目没有遵循惯例。
Q3.GroupId中的maven pom的用途是什么?
**回答。**maven pom不过是与maven项目一起工作的对象模型。
结论
maven项目的配置是通过使用项目对象模型完成的,该模型由文件名pom.xml表示。在执行模式时,我们需要遵循包名的规则,所以我们可以说这是一个我们使用的域名。
推荐文章
这是一篇关于Maven GroupId的指南。这里我们讨论了介绍,以及如何定义maven groupId,并附有实例。
The postMaven GroupIdappeared first onEDUCBA.