从标题中可以看到,我想问一想Maven 3中的情况不再支持pom.xml中的$ version。我们是否真的必须一次又一次地在每个pom.xml和相关配置文件中的每个项目中编写一个常量?我们如何避免这样做?我们如何使用像$ version这样的版本控制方法?
最佳答案
不赞成使用${version}
表达式,您应该改用${project.version}
,但仍支持二者,并且您当然不需要自定义属性。
以下内容对Maven 3来说对我来说很好用:
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>services</artifactId>
<version>${project.version}</version>
<type>ejb</type>
</dependency>
还要看看我以前对Warning on using project.parent.version as the version of a module in Maven 3的回答,即您使用
version
的方式(基于我在另一个答案的注释中看到的内容)没有多大意义,恕我直言,Maven 3实际上建议遵循最佳实践。只是继承版本。关于maven-2 - 为什么Maven 3放弃支持应用程序的$ version声明?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2826875/