2011-03-17 11 views
3

내 maven 빌드에서 antrun 플러그인을 사용하여 응용 프로그램 버전이 포함 된 일부 JSP 파일에서 @ version @ 토큰을 대체했습니다. 이것은 내가 뭐하는 거지입니다 :Maven Antrun Plugin에서 작업 바꾸기

<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="@[email protected]" value="${displayVersion}"/> 
       </target> 
      </configuration> 
      <goals> 
       <goal>run</goal> 
      </goals> 
     </execution> 
    </executions> 
</plugin> 

내가

mvn clean install -DdisplayVersion="Version-1.1"

을 받는다는 매개 변수로 displayVersion을 전달하고 그리고 이것은 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}으로 대체되며 실제 값은 아닙니다.

+0

= "$ {디스플레이}''이 아닌'값 =" $ {displayVersion} "', 원래 코드의 오타이거나 cut'n'paste 문제입니까? – skuro

+0

그것은 오타입니다 ... 내 잘못. 내가 수정 한 질문을 수정했습니다. – Arpit

답변

6
아론이 제안

Maven을 사용하여 자원 필터링 및 set the delimiters : 당신은 당신이 실제로 '값을 사용하여 게시 된 antrun 구성에서

<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 @[email protected] --> 
     <delimiter>@</delimiter> 
     </delimiters> 
    </configuration> 
</plugin> 
+0

감사합니다. Sean! – Arpit

1

Maven resources plugin은 자원의 변수를 대체 할 수 있습니다. 따라서 jspc 플러그인을 사용하여 JSP를 컴파일하는 대신 JSP를 제공하는 경우 리소스 플러그인을 enabling filtering으로 복사하는 동안 리소스 플러그인이 작업을 수행하도록 할 수 있습니다. 메이븐 자원 플러그인에서

+1

Aaron, Maven 리소스 필터링에 대해 알고 있습니다. 하지만 AMT에서 MAVEN으로 마이그레이션하고 사용하는 토큰은 @ - ** @ version @ **이고 Maven 리소스 필터링을 ** $ {version}으로 변경해야한다고 생각합니다. ** 이제, 이 토큰을 대체해야하는 파일이 많아서 ** $ {version} **으로 만들 수 없습니다. Maven 리소스 필터링을 사용하여 ** @ version @ **을 (를) 필터링 할 수있는 방법이 있습니까 – Arpit

+0

Sean의 솔루션을 사용해보십시오. 어떤 IDE를 사용하고 있습니까? 이클립스에서는 모든 파일을 글로벌 검색으로 대체 할 수 있습니다. –

관련 문제