我面临以下问题:我想将 mercurial 哈希集成到我的 java 项目中。我想将它集成到生成文件(debian 包)的名称中,并且我还希望有一个类似 version.properties 的文件,我可以在其中访问 mercurial 哈希。
我知道有很多类似的问题,但我通读了它们,不知何故我无法解决我的问题。
我使用 buildnumber-maven-plugin 来检索 mercurial 哈希。然后我将它集成到版本中。然后在我运行时使用此哈希生成 debian 包mvn clean install
This is working so far。
<version>project-${buildNumber}</version>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>buildnumber-maven-plugin</artifactId>
<version>1.0</version>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>create</goal>
</goals>
</execution>
</executions>
</plugin>
我缺少的是buildNumber.properties
文件,它应该由插件自动生成。我在任何地方都找不到它。所以我决定编写自己的属性文件。我在其中创建了一个,src/main/resources
并在我的 pom.xml 中添加了一个属性。以下是片段:
pom.xml
<properties>
<merc.version>${buildNumber}</merc.version>
</properties>
版本属性
version=${buildNumber}
version2=${merc.version}
然后我mvn clean install
从 cmdl 运行。但是当我从命令行打开我的 version.properties 文件时less
,我看到的内容是上面写的纯文本。属性不会替换为真实内容。我只看到version=${buildNumber}
,等等。
此外,应该由 maven 生成的文件“pom.properties”确实包含一个月前的一个非常旧的版本。我不明白该怎么做才能更新它。
请,如果有人可以帮助我,那就太好了:-)谢谢!