我有一个在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,我至少有以下两个选项:
答案 0 :(得分:3)
我认为你应该在groupId中使用你自己的域,而不是github。* - 这意味着该项目归Github所有。
答案 1 :(得分:3)
在名称中使用groupId与托管网站是一种流行的选择。在http://search.maven.org上搜索
虽然最好使用您真正拥有的域名,但使用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
也很好。