使用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

回到顶部