Заменить задачу в плагине Maven Antrun - PullRequest
3 голосов
/ 17 марта 2011

Я использую плагин antrun в моей сборке maven для замены токена @ version @ в некоторых файлах JSP версией приложения. Вот что я делаю:

<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 Plugin

[INFO] [antrun:run {execution: default}]
[INFO] [antrun:run {execution: default}]  
[INFO] Executing tasks  
main:  
[echo] 9.4_70  
[INFO] Executed tasks

Несмотря на то, что свойство отображается правильно, оно не подставляется в мой JSP. Маркер @ version @ заменяется на {displayVersion} , а не на его фактическое значение.

Ответы [ 2 ]

6 голосов
/ 17 марта 2011

Используйте фильтрацию ресурсов Maven, как предложил Аарон, и установите разделители в плагине ресурсов Maven:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-resources-plugin</artifactId>
    <version>2.5</version>
    <configuration>
      <delimiters>
        <!-- enable maven's standard delimiters -->
        <delimiter>${*}</delimiter>
        <!-- enable your @delimiters@ -->
        <delimiter>@</delimiter>
      </delimiters>
    </configuration>
</plugin>
1 голос
/ 17 марта 2011

Плагин Maven resources может заменять переменные в ресурсах; поэтому, если вы поставите JSP (вместо компиляции с помощью плагина jspc), вы можете просто позволить плагину ресурсов выполнять свою работу, пока он копирует ресурсы, включив фильтрацию .

...