Maven工件和组命名约定

Mar*_*tin 2 java naming-conventions jersey maven

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

我的产品名称是ProfitHorse

因此,最佳做法是将groupid与我的反向dns名称放在一起并在其上添加ProfitHorse

com.mydomain.profithorse

并且工件将是模块的实际名称,在这种情况下它是一个泽西休息服务,所以类似于

休息服务

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

电子邮件服务器

在单词之间使用 - (破折号)是好的做法,我认为它不区分大小写,因此使用骆驼套管或pascal套管不会真正起作用.

我非常感谢这里的任何指导,因为我对公约有点困惑.

谢谢

Puc*_*uce 8

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

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

的artifactId:项目名称+组件,破折号,一切小写分离: profithorse-server-service或profithorse-server-service-rest或profithorse-server-rest

对于artifactId考虑:

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

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