2015-04-05 80 views
2

這裏是我的屬性文件:的Maven資源過濾不更換財產

version = ${maven.build.timestamp} 

這是我的pom.xml文件看起來像:

<properties> 
    <maven.build.timestamp.format>yyyyMMddHHmmss</maven.build.timestamp.format> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
</properties> 
... 
<build> 
    <plugins> 
    ... 
    </plugins> 
    <resources> 
     <resource> 
      <directory>${project.basedir}/src/main/resources</directory> 
      <filtering>true</filtering> 
     </resource> 
    </resources> 
</build> 

這是我的目錄結構看起來像:

. 
├── pom.xml 
├── src 
│   └── main 
│    ├── java 
│    │   └── ... 
│    ├── resources 
│    │   └── application.properties 

但是,當我做一個mvn clean install並打開target/classes/application.properties文件時,內容它仍然是一樣的:version = ${maven.build.timestamp}

爲什麼不正確地更換財產?

+0

您可以通過方式將src/main/resources – jamierocks 2015-04-05 21:58:25

回答

2

這是Maven中的一個已知問題(see here)。 簡單的解決方法是在你的POM重新定義這個屬性:

<properties> 
    <maven.build.timestamp>${maven.build.timestamp}</maven.build.timestamp> 
</properties> 

雖然這可能會產生在IDE這樣的錯誤Eclpise它仍然工作作爲一個Maven構建。或者,您可以使用自己的名稱重新定義此屬性以避免IDE警告。