groupGitHub 上托管的 maven 项目 Id

2022-09-04 03:33:24

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

现在我想把它上传到Sonatype OSS Maven Repository。我检查了他们对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上托管的项目,正确的groudId是什么?

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

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

答案 1

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

  • Sourceforge
  • 谷歌代码
  • github

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


答案 2

我认为你应该在groupId中使用自己的域,而不是github.* - 这意味着该项目归Github所有。


推荐