托管在GitHub上的maven项目的groupId

tyky79it  于 2023-11-17  发布在  Maven
关注(0)|答案(4)|浏览(164)

我有一个托管在GitHub上的开源maven项目。假设URL是https://github.com/foo/bar
现在我想把它上传到Sonatype OSS Maven Repository。我检查了他们对groupId有严格的规定(https://central.sonatype.org/publish/requirements/coordinates/#updated-code-hosting-services-for-personal-groupid)。
groupId将在所有项目中唯一标识您的项目,因此我们需要强制执行命名模式。它必须遵循包名规则,这意味着必须至少作为您控制的域名,并且您可以创建任意多个子组。例如,org.apache.maven,org.apache.commons确定groupId粒度的好方法是使用项目结构。也就是说,如果当前项目是一个多模块项目,它应该在父项目的groupId中附加一个新的标识符。例如:org.apache.maven、org.apache.maven.plugins、org.apache.maven.reporting
问题是,对于托管在GitHub上的项目,正确的groupId是什么?
由于用户生成的网站有域名foo.github.io,我至少有以下两种选择:

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

m3eecexj1#

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

  • net.sf
  • sourceforge
  • 谷歌代码
  • GitHub

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

vcirk6k6

vcirk6k62#

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

eqzww0vc

eqzww0vc3#

虽然Maven项目的许多groupId都是从web域派生的,但它们是从项目启动者的域派生的--github只是一个方便的服务,给予其他人访问您的项目的权限。
所以你应该选择一个特定于你的ID just like all the other projects there

oxosxuxt

oxosxuxt4#

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

相关问题