2013-06-21 42 views
1

我想與Maven篩選上只有一個屬性與Maven的戰爭插件如何與Maven篩選的只有一個屬性

我的屬性:

  • 鍵1 =值
  • KEY2 =數值

和一個文件:index.html的

  • 您好$ {鍵} - $ {鍵2}過濾後

實際結果:

  • 你好值1 - 值2

預期的結果:我想只過濾的財產「 key1' 的

  • 你好值1 - $ {} KEY 2

我的pom.xml:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-war-plugin</artifactId> 
    <configuration> 
     <webResources> 
      <resource> 
       <filtering>true</filtering> 
       <directory>${project.basedir}/src/main/webapp</directory> 
      </resource> 
     </webResources> 
    </configuration> 
</plugin> 

請幫助我。 謝謝你

回答

1

顯而易見的方法是從屬性文件中刪除key2。如果這不是一個選項,過濾機制會提供一個escapeString(在resources:resources goal docs中閱讀更多關於它的內容)。默認情況下,這是一個反斜槓。

index.html文件將包括

Hello ${key1} - \${key2} 

和過濾應該產生

Hello value1 - ${key2} 

我還沒有實際使用webResources嘗試這樣做,但我知道它的工作原理與普通的項目資源。

+0

我有一個情況,其中escapeString和刪除鍵都不是一個選項(沒有控制過濾文件)。這是過濾系統的一個非常糟糕的限制。 –