对于不属于任何公司/组织/网站的maven项目,明智的选择是什么?我理解使用约定com.companyname.projectname是为了避免项目之间的名称空间冲突,但是我应该如何为我正在启动的单个项目找到前缀呢?
发布于 2016-02-01 20:48:14
看一看官方指南:
groupId将在所有项目中唯一地标识您的项目,因此我们需要强制执行命名模式。它必须遵循包名规则,这意味着至少必须作为您控制的域名,并且您可以创建任意数量的子组。查看有关包名的更多信息。 例如:org.apache.maven,org.apache.commons 确定groupId粒度的一个好方法是使用项目结构。也就是说,如果当前项目是一个多模块项目,它应该将一个新的标识符附加到父groupId。 例如:org.apache.maven,org.apache.maven.plugins,org.apache.maven.reporting
因此,正如您对包名所做的一样,您应该使用表示项目的理想域名。如果你没有一个,你可以想象你的项目有一个。因此,“您控制的域”可能是您的个人域,或此特定项目的域。即com.andyw.nextbigthing或com.nextbigthing。如果你认为它是某种东西,这可能是有趣的,被社区发现,你可以跳过个人名称,而是使用org。即org.nextbigthing.
发布于 2020-03-07 20:37:52
如果您使用一些流行的存储库(如GitHub ),您应该遵循下一步规则
如果您的项目名是SourceForge的foo,则可以使用net.sf.foo。如果您的用户名是Github上的bar,则可以使用com.github.bar.您还可以使用另一个您控制的反向域名。组ID不必反映项目主机。
https://stackoverflow.com/questions/35139738
复制相似问题