在GitHub上托管的maven项目的groupId

std*_*err 8 java github sonatype maven

我有一个在GitHub上托管的开源maven项目.假设网址是https://github.com/foo/bar.

现在我想将它上传到Sonatype OSS Maven资源库.我检查了他们对groupId(https://docs.sonatype.org/display/Repository/Choosing+your+Coordinates)有严格的规定.

groupId将在所有项目中唯一地标识您的项目,因此我们需要强制执行命名模式.它必须遵循包名称规则,这意味着必须至少作为您控制的域名,并且您可以根据需要创建任意数量的子组.例如.org.apache.maven,org.apache.commons确定groupId粒度的一个好方法是使用项目结构.也就是说,如果当前项目是一个多模块项目,它应该将新标识符附加到父项的groupId.例如.org.apache.maven,org.apache.maven.plugins,org.apache.maven.reporting

问题是,对于在GitHub上托管的项目,什么是正确的问题?

由于用户生成的网站有域名foo.github.io,我至少有以下两个选项:

  • com.github.foo
  • io.github.foo

rec*_*rec 5

在名称中使用带有托管站点的 groupId 是一种流行的选择。在http://search.maven.org 上搜索

  • 网络.sf
  • 源锻造
  • 谷歌代码
  • github

虽然最好使用您真正拥有的域,但使用 groupId 中的托管站点是一种明智的回退。您应该尝试确保您选择的名称不与托管公司本身(例如 com.google)相关联,而是与托管站点(例如 com.googlecode)相关联,以便清楚地表明您是该站点上的一个项目而不是基础公司的项目。

  • 那么`io.github.foo` 比`com.github.foo` 好? (2认同)
  • 没有更好,但更现代:)使用你更喜欢的。 (2认同)