在GitHub上托管的maven项目的groupId

时间:2013-11-12 09:07:10

标签: java maven github sonatype

我有一个在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

4 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:3)

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

  • net.sf
  • sourceforge的
  • googlecode上
  • github上

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

答案 2 :(得分:1)

虽然许多groupId个Maven项目来自Web域,但它们来自启动项目的人员的域 - github只是一个方便的服务,可以让其他人访问到你的项目。

因此,您应该选择一个特定于您的ID just like all the other projects there

答案 3 :(得分:0)

另一个选项foo.bar为groupId,但groupId为github也很好。