maven属性公约:“dot case”或“camel case”?

时间:2015-05-18 07:52:41

标签: java maven properties pom.xml camelcasing

使用java和Maven,maven属性的约定是什么?

我在这里发布了两个例子,这两个例子都在广泛使用。根据惯例,哪一个是正确的?

示例A

<properties>
    <hibernate.version>4.3.8.Final</hibernate.version>
    <hsqldb.version>2.3.2</hsqldb.version>
    <log4j2.version>2.0.2</log4j2.version>
</properties>

示例B

<properties>
    <hibernateVersion>4.3.8.Final</hibernateVersion>
    <hsqldbVersion>2.3.2</hsqldbVersion>
    <log4j2Version>2.0.2</log4j2Version>
</properties>

编辑:

以下是Maven Properties Guide的链接。 maven属性的一些示例包括${project.build.directory}(点大小写)和${project.build.outputDirectory}(包括点大小写和驼峰大小写)。

官方文档Maven POM Reference建议了一个名为<someVar>的示例属性(驼峰案例)。

1 个答案:

答案 0 :(得分:11)

在阅读了相关文档之后,答案一直很清楚。

dot.casecamelCase之间的明显冲突是,一个用于引用pom 中的层次结构,而另一个用于变量命名< / em>的

例如,让我们看一下${project.build.outputDirectory}。这里的点符号,据我所知,是指变量所在的pom结构,而变量名本身确实是驼峰式的。

<project>
  <build>
    <outputDirectory>/opt/foo</outputDirectory>
  </build>
</project>

换句话说,maven中变量命名的约定确实是 Camel Case ,不要与pom结构中的属性/变量的引用混淆,如${project.version},{{1根据惯例,示例B最正确:

。}等等
${project.build.outputDirectory}