使用Maven将版本号输出到文本文件
我想生成一个将用maven更新应用程序的zip文件。该zip将托管在服务器上,我正在使用Assembly插件来生成zip。但是,我希望Maven自动生成一个文本文件,该文件将当前版本号存储在zip之外。这怎么可能?
编辑:我成功使用maven程序集插件和两个描述符创建了两个自定义程序集。一个人有一个目录单一目标,它只是基于过滤创建一个带有更新的version.txt的文件夹。然后,只有一个目标的另一个实际上打包了zip文件。这似乎非常不雅致,我想它将无法使用整个更新的文件夹正确地更新Maven存储库。如果有更好的方法可以进行此操作,请告诉我。
回答:
当然。在src / main / resources中的某个地方创建一个文本文件,将其命名version.txt
(或其他名称)
档案内容:
${project.version}
现在在pom.xml中的build元素中,放置以下代码块:
<build> <resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<includes>
<include>**/version.txt</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
<filtering>false</filtering>
<excludes>
<exclude>**/version.txt</exclude>
</excludes>
</resource>
...
</resources>
</build>
每次构建后,文件(您可以在目标/类中找到)将包含当前版本。
现在,如果要自动将文件移动到其他位置,则可能需要通过maven-antrun-
plugin执行ant任务。
像这样:
<build> ...
<plugins>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.4</version>
<executions>
<execution>
<phase>process-resources</phase>
<configuration>
<tasks>
<copy file="${project.build.outputDirectory}/version.txt"
toFile="..." overwrite="true" />
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
以上是 使用Maven将版本号输出到文本文件 的全部内容, 来源链接: utcz.com/qa/417210.html