vik*_*eve 10 java camelcasing properties pom.xml maven
使用java和Mavenmaven属性的约定是什么?
我在这里发布了两个例子,这两个例子都在广泛使用.根据惯例,哪一个是正确的?
例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>
Run Code Online (Sandbox Code Playgroud)
例B
<properties>
<hibernateVersion>4.3.8.Final</hibernateVersion>
<hsqldbVersion>2.3.2</hsqldbVersion>
<log4j2Version>2.0.2</log4j2Version>
</properties>
Run Code Online (Sandbox Code Playgroud)
编辑:
以下是Maven Properties Guide的链接.maven属性的一些示例包括${project.build.directory}(dot case)和${project.build.outputDirectory}(dot case和camel case).
官方文档Maven POM Reference建议一个名为<someVar>(camel case)的示例属性.
vik*_*eve 11
在阅读了相关文档之后,对此的回答一直很清楚.
dot.case和之间的明显冲突camelCase是,一个用于引用pom中的层次结构,而另一个用于变量命名.
例如,让我们来看看${project.build.outputDirectory}.这里的点符号,据我所知,是指变量所在的pom结构,而变量名本身确实是驼峰式的.
<project>
<build>
<outputDirectory>/opt/foo</outputDirectory>
</build>
</project>
Run Code Online (Sandbox Code Playgroud)
换句话说,maven中变量命名的约定确实是Camel Case,不要与pom结构中的属性/变量的引用混淆,例如${project.version},${project.build.outputDirectory}等等,并且根据约定,示例B最正确:
<properties>
<hibernateVersion>4.3.8.Final</hibernateVersion>
<hsqldbVersion>2.3.2</hsqldbVersion>
<log4j2Version>2.0.2</log4j2Version>
</properties>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2893 次 |
| 最近记录: |