本文正在参加「Java主题月 - Java Debug笔记活动」,详情查看<活动链接>
提问:如何用代码在Maven pom.xml检索版本?
从Maven的pom.xml中以代码方式(即以编程方式)检索版本号的最简单方法是什么?
回答1:
假设您正在使用Java,则可以:
1, (最常见的情况是这个位置)在src / main / resources目录中创建一个.properties文件。(但在第4步中,您可以告诉它在其他位置查找)。 2, 使用项目版本的标准Maven属性在.properties文件中设置某些属性的值:
foo.bar=${project.version}
3, 在Java代码中,将属性文件中的值作为类路径中的资源加载(有关如何执行此操作的示例,请参见google)。
4,在Maven中,启用资源过滤。这将使Maven将文件复制到您的output classes(我记得是个文件夹)中,并在该复制过程中翻译资源,从而解释属性。您可以在此处找到一些信息,但是您大多只是在pom中执行此操作:
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
</build>
您还可以访问其他标准属性,例如project.name,project.description或甚至放在pom 等中的任意属性。资源过滤与Maven配置文件相结合,可以在构建时为您提供可变的构建行为。 在运行时使用-PmyProfile指定配置文件时,可以启用随后可以显示在构建中的属性。
文章翻译至 Stack Overflow : stackoverflow.com/questions/3…