【发布时间】:2018-05-27 20:36:19
【问题描述】:
我正在尝试使用 buildnumber-maven-plugin 将 SCM 内部版本号附加到 WAR 工件名称,然后使用 tomcat7-maven-plugin 部署它,但在不包含内部版本号的上下文路径中。所以我正在制作 foo-r1234.war,其中 foo 是我的项目,1234 是 Subversion 中的修订号,但我想将它部署在 Tomcat 上下文 foo 中。 p>
我得到了反映内部版本号的战争生成,但问题是 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,如何使其可见?
相关:
How to deploy war with automatic buildnumber to tomcat using maven tomcat plugin
timestamp and buildNumber properties not set during deploy goal
【问题讨论】:
标签: maven maven-tomcat-plugin buildnumber-maven-plugin