pom.xml中artifactId和groupId有什么区别?

时间:2016-08-27 21:13:21

标签: maven maven-2 maven-3 pom.xml maven-plugin

您如何向一位新手网络开发人员或程序员解释一下这个例子(比如facebook公司或谷歌公司)?

4 个答案:

答案 0 :(得分:19)

来自maven.apache.org,Naming Conventions

  

artifactId是没有版本的jar的名称。如果你创建了它,那么你可以用小写字母和没有奇怪的符号选择你想要的名字。如果它是第三方罐子,你必须在分发罐子时取名字。   例如。 mavencommons-math

     

groupId将在所有项目中唯一标识您的项目,因此我们需要强制执行命名架构。它必须遵循包名称规则,这意味着必须至少作为您控制的域名,并且您可以根据需要创建任意数量的子组。查看有关包名称的更多信息。   例如。 org.apache.mavenorg.apache.commons

答案 1 :(得分:4)

在新手理解的情况下。此 Link 描述了对项目标识符的最佳理解。如果我缩小到主要话题,那么这就是重点:

<块引用>

Maven 使用一组标识符(也称为坐标)来唯一 确定一个项目并指定项目工件应该如何 打包:

  • groupId – 创建项目的公司或团体的唯一基本名称
  • artifactId – 项目的唯一名称

如果您想了解这些标识符如何影响 POM,您可以访问

  1. Project Inheritance
  2. Project Aggregation

答案 2 :(得分:0)

在Maven中,groupId和artifactId的主要区别在于,groupId指定项目组的ID,而artifactId指定项目的ID。

在开发项目时需要使用第三方库。程序员可以下载这些第三方库并将其添加到项目中,但是以后很难对其进行更新。 Maven提供了解决此问题的方法。它有助于包括项目所需的所有依赖项。此外,程序员可以在POM.XML文件中指定所需的依赖关系。它具有用于构建项目的配置信息。此外,该文件由几个XML元素组成,其中两个是groupId和artifactId。 例 groupId:com.test.java(类似于程序包名称) artifactId:javaproject(项目或模块名称)

答案 3 :(得分:0)

这是任何软件工程访谈中最常见的问题之一。通过这个问题,面试官想了解有关Maven和pom.xml文件的基本知识。我最近发现了一篇有关真实示例的不错的博客文章。只需在此处共享链接。希望对别人有帮助。

Difference between groupId and artifactId in pom.xml