2014-04-19 62 views
1

我想弄清楚maven的最佳命名约定。比如我创建一个Web服务(使用的球衣)和让说,例如,我的域名是mydomain.comMaven工件和组命名约定

我的产品名称为ProfitHorse

所以会是把GROUPID与最佳实践我反向DNS名称并添加ProfitHorse上它像这样

com.mydomain.profithorse

和神器将是实际命名模块在这种情况下,它的球衣休息服务,所以像

REST的服务

如果我有进一步的模块,我可以使用相同的groupId,但只是改变了神器即

电子邮件服务器

是用很好的做法 - 字之间(破折号)我认为它不是 区分大小写,所以使用骆驼套管或帕斯卡套管不会真正起作用。

我真的很感谢这里的任何指导,因为我对公约方面有点困惑。

感谢

+2

可能重复[Maven artifact和groupId命名](http://stackoverflow.com/questions/3724415/maven-artifact-and-groupid-naming) – Joe

回答

6

在这种情况下,我会建议:

的groupId:反向域名+项目名称,用点,一切小写分离:com.mydomain.profithorse

的artifactId:项目名称+组件,用破折号分隔,全部小写: profithorse-server-serviceprofithorse-server-service-restprofithorse-server-rest

对于artifactId的考虑:

  • 的的artifactId将定义罐子名。这就是为什么我建议添加项目名称的原因,否则你最终会得到一个rest-service-<version>.jar - 不是非常具有说明性的
  • 使用尽可能多的组件部件,以便轻松查看它提供的内容。
    • 你有服务器和客户端模块吗?
    • 你有几种服务?或只是休息?
    • 每个功能的垂直分层是否有意义?然后还功能名称添加到的artifactId

我猜Maven的坐标是区分大小写的,但我不知道。我建议始终使用小写字母。

+0

感谢您的。很好的解释,虽然看起来还有另一个问题回答我的问题,但没有详细说明或回答我的具体情况......你确实......谢谢你 – Martin