【发布时间】:2011-03-17 14:24:39
【问题描述】:
我在我的 maven 构建中使用 antrun 插件将某些 JSP 文件中的令牌 @version@ 替换为应用程序版本。 这就是我正在做的事情:
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.6</version>
<executions>
<execution>
<phase>compile</phase>
<configuration>
<target>
<echo>${displayVersion}</echo>
<replace file="src/main/webapp/admin/decorators/default.jsp" token="@version@" value="${displayVersion}"/>
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
我将 displayVersion 作为参数传递给 maven
mvn clean install -DdisplayVersion="Version-1.1"
这是 Antrun 插件
的控制台输出[INFO] [antrun:run {execution: default}]
[INFO] [antrun:run {execution: default}]
[INFO] Executing tasks
main:
[echo] 9.4_70
[INFO] Executed tasks
虽然该属性被正确回显,但它并没有在我的 JSP 中被替换。 @version@ 标记被替换为 {displayVersion} 而不是它的实际值。
【问题讨论】:
-
在您发布的 antrun 配置中,您实际上使用的是
value="${display}"而不是value="${displayVersion}",这是原始代码中的拼写错误还是剪切粘贴问题? -
这是一个错字……我的错。我已经编辑了问题以纠正相同的问题