2016-04-22 105 views
0

我正在運行一個簡單的maven項目(maven版本爲3.3.9),並帶有配置文件和資源過濾。似乎過濾總是在默認配置文件中完成。Maven過濾資源

有在src /主/過濾器2的配置文件(默認):config-dev.properties和config-prod.properties僅包含一個可變 application.env =發展 application.env =生產

而與此內容的src/main /資源(默認)的資源文件:使用

We are working on ${application.env} 

命令行是 MVN清潔能源:資源-Pprod

預期的輸出是

We are working on production 

但過濾資源文件包含

We are working on development 

Maven的POM片段看起來像:

<build> 
    <finalName>test-maven-module</finalName> 
    <filters> 
     <filter>src/main/filters/config-${build.profile.id}.properties</filter> 
    </filters> 
    <resources> 
     <resource> 
      <directory>src/main/resources</directory> 
      <filtering>true</filtering> 
     </resource> 
    </resources> 
</build> 

和配置文件配置

<profiles> 
    <profile> 
     <id>dev</id> 
     <activation> 
      <activeByDefault>true</activeByDefault> 
     </activation> 
     <properties> 
      <build.profile.id>dev</build.profile.id> 
     </properties> 
     </profile> 
     <profile> 
      <id>prod</id> 
      <properties> 
       <build.profile.id>prod</build.profile.id> 
      </properties> 
    </profile> 
</profiles> 

任何suggestio N +

回答

0

我發現後Eclipse + maven : profile ignored

的問題是與使用的解決方案「刷新使用本機鉤或輪詢」(使用本地鉤首選項>常規>工作空間>刷新)選項。取消選中此選項可解決問題。