Noa*_*rth 269 maven-2 naming-conventions
我目前正在将一些项目从Ant迁移到Maven.循规蹈矩,因为我,我想用行之有效的约定查找groupId
和artifactId
,但我找不到任何详细的约定(也有一些,但不包括我想了解一下点).
以此项目为例,首先是Java包: com.mycompany.teatimer
Tea计时器实际上是两个单词,但Java包命名约定禁止插入下划线或连字符,所以我将它们全部写在一起.
我选择了groupId
相同的包ID,因为我认为这是一个好主意.是吗?
最后,我必须选择一个artifactId
,我目前去了teatimer
.但是当我查看其他Maven项目时,他们使用连字符来分割artifactId
s中的单词,如下所示:tea-timer
.但是当连接到groupId
:时确实看起来很奇怪com.mycompany.teatimer.tea-timer
.
你会怎么做?
另一个例子:
包裹名字: com.mycompany.awesomeinhouseframework
groupId
:( com.mycompany.awesomeinhouseframework
?)
artifactId
:( awesome-inhouse-framework
?)
Pas*_*ent 230
古怪是非常主观的,我只是建议遵循官方建议:
关于groupId,artifactId和version的命名约定的指南
groupId
将在所有项目中唯一地标识您的项目,因此我们需要强制执行命名模式.它必须遵循包名称规则,这意味着必须至少作为您控制的域名,并且您可以根据需要创建任意数量的子组.查看有关包名称的更多信息.例如.
org.apache.maven
,org.apache.commons
确定groupId粒度的一种好方法是使用项目结构.也就是说,如果当前项目是一个多模块项目,它应该将新标识符附加到父项的groupId.
例如.
org.apache.maven
,org.apache.maven.plugins
,org.apache.maven.reporting
artifactId
是没有版本的jar的名称.如果你创建了它,那么你可以用小写字母和没有奇怪的符号选择你想要的名字.如果它是第三方jar,你必须在分发时获取jar的名称.例如.
maven
,commons-math
version
如果你分发它,那么你可以选择任何带有数字和点的典型版本(1.0,1.1,1.0.1,...).不要使用日期,因为它们通常与SNAPSHOT(夜间)构建相关联.如果它是第三方神器,你必须使用他们的版本号,不管它是什么,并且它看起来很奇怪.例如.
2.0
,2.0.1
,1.3.1
Man*_*wal 96
考虑以下建立基本的第一个Maven应用程序:
groupId
artifactId
version