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

sof*_*fs1 18 maven-2 maven-plugin pom.xml maven-3 maven

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

Jam*_*son 23

来自maven.apache.org,命名约定:

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

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

  • 假设我的公司 ABC 决定将我的项目放在互联网上供公众使用,artifactId:<nameOftheJar>, groupId:com.abc.www ?如果有人为工件 ID 和 groupId 提出相同的名称,会发生什么情况?这也有一定的可能性。 (2认同)

小智 10

以防新手理解。此链接描述了对项目标识符的最佳理解。如果我把范围缩小到主要主题,那么重点就是:

\n
\n

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

\n
    \n
  • groupId \xe2\x80\x93 创建项目的公司或组的唯一基本名称
  • \n
  • artifactId \xe2\x80\x93 项目的唯一名称
  • \n
\n
\n

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

\n
    \n
  1. 项目传承
  2. \n
  3. 项目聚合
  4. \n
\n