Maven工件和组命名约定

时间:2014-04-19 16:33:13

标签: java maven jersey naming-conventions

我正在试图找出Maven的最佳命名约定。例如,我正在创建一个Web服务(使用Jersey),例如,我的域名是mydomain.com

我的产品名称是ProfitHorse。那么最佳做法是将groupid与我的反向dns名称放在一起并在其上添加ProfitHorse就像这样

com.mydomain.profithorse

并且工件将是模块的实际名称,在这种情况下它是Jersey REST服务,所以类似

rest-service

如果我有其他模块,我可以使用相同的groupId但只是更改工件,即

email-server

在单词之间使用 - (破折号)是一种好习惯吗?我认为不是 区分大小写,所以使用骆驼套管或Pascal套管不会真正起作用。

我对约定感到困惑。

1 个答案:

答案 0 :(得分:8)

在这种情况下,我建议:

groupId:反向域名+项目名称,以点分隔,所有小写:com.mydomain.profithorse

artifactId:项目名称+组件,用短划线分隔,所有小写: profithorse-server-serviceprofithorse-server-service-restprofithorse-server-rest

对于artifactId,请考虑:

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

我猜Maven坐标区分大小写,但我不确定。我建议总是使用小写名称。