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

我的产品名称是ProfitHorse。因此,最好的做法是将groupid加上我的反向dns名称,并在其上添加ProfitHorse,如下所示

com.mydomain.profithorse


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

rest-service


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

email-server


在单词之间使用-(破折号)是一种好习惯吗?我想不是
区分大小写,因此使用骆驼肠衣或Pascal肠衣不会真正起作用。

我对公约不感到困惑。

最佳答案

在这种情况下,我建议:

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

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

对于artifactId,请考虑:


artifactId将定义jar名称。这就是为什么我建议也添加项目名称的原因,否则您将得到一个rest-service-<version>.jar-描述性不强
使用尽可能多的组件零件,以便轻松查看其提供的功能。

您有服务器和客户端模块吗?
您有几种服务吗?还是休息?
每个功能的垂直分层是否有意义?然后还将功能名称添加到artifactId



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

09-05 20:38