我正在尝试使用buildnumber-maven-plugin
将 SCM 内部版本号附加到 WAR 工件名称,然后用于tomcat7-maven-plugin
部署它,但在不包含内部版本号的上下文路径中。所以我正在制作foo-r1234.war,其中 foo 是我的项目,1234 是 Subversion 中的修订号,但我想将它部署在 Tomcat 上下文foo中。
我得到了战争一代来反映内部版本号,但问题是 Tomcat 插件没有看到内部版本号插件${buildNumber}
分配的属性:
<finalName>foo-r${buildNumber}</finalName>
...
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>buildnumber-maven-plugin</artifactId>
<version>1.4</version>
<executions>
<execution>
<id>create-buildno</id>
<phase>validate</phase>
<goals>
<goal>create</goal>
</goals>
</execution>
</executions>
<configuration>
<doCheck>false</doCheck>
<doUpdate>false</doUpdate>
</configuration>
</plugin>
...
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<configuration>
<url>http://localhost:8080/manager/text</url>
<path>/foo</path>
<warFile>${project.build.directory}/${project.build.finalName}.war</warFile>
</configuration>
</plugin>
我明白了
[错误] 无法在项目 foo 上执行目标 org.apache.tomcat.maven:tomcat7-maven-plugin:2.2:deploy (default-cli):找不到战争文件:/my/path/target/foo-r${ buildNumber}.war -> [帮助 1] [错误]
这表明 tomcat 插件没有看到 ${buildNumber}。为了将 foo-r${buildNumber}.war 部署到 Tomcat 中的上下文 foo,如何使其可见?
有关的: