Maven配置将项目版本放在war文件中的文件名上,用'unzip -l app.war'读取

时间:2015-01-15 12:29:04

标签: java maven maven-3 war

如何配置我的pom文件,以便maven自动构建战争,包括使用项目版本号命名的文件,例如: version-3.1.2.txt?

这是为了便于在部署期间使用。

由于各种原因,我无法命名war文件MyApp-3.1.2.war。

如果那是不可能的,我将不得不将版本号写入清单,如How to put maven project version in war file manifest?,并确定linux cmd解压缩,读取和处理清单文件的内容。< / p>

1 个答案:

答案 0 :(得分:1)

你可以这样做:

<build>
    <plugins>
        <plugin>
            <artifactId>maven-antrun-plugin</artifactId>
            <executions>
                <execution>
                    <goals>
                        <goal>run</goal>
                    </goals>
                    <phase>prepare-package</phase>
                    <configuration>
                        <tasks>
                            <mkdir dir="${project.build.directory}/${project.build.finalName}" />
                            <touch file="${project.build.directory}/${project.build.finalName}/version-${project.version}.txt" />
                        </tasks>
                    </configuration>                        
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

我在GitHub上创建了一个工作示例: https://github.com/StefanHeimberg/stackoverflow-27963488