2016-04-22 11 views
0

Ich führe ein einfaches Maven-Projekt (Maven Version 3.3.9) mit Profilen und Filterung von Ressourcen. Es scheint, dass die Filterung immer auf dem Standardprofil erfolgt.Maven filtern Ressourcen

Es gibt zwei Konfigurationsdateien in src/main/Filter (Standard): config-dev.properties und config-prod.properties, die nur eine Variable application.env = Entwicklung application.env enthält = Produktion

Und eine Ressource-Datei in src/main/resources (default) mit folgendem Inhalt:

We are working on ${application.env} 

verwendet Kommandozeile ist mvn sauber Ressourcen: Ressourcen -Pprod

Die erwartete Ausgabe ist

We are working on production 

Aber das gefilterte Ressource-Datei enthält

We are working on development 

Maven pom Snippet wie folgt aussieht:

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

und Profile Konfiguration

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

Beliebig suggestio n?

Antwort

0

fand ich die Lösung auf dem Posten Eclipse + maven : profile ignored

Das Problem bei der Verwendung der „refresh mit nativen Haken oder Polling“ war Option (Einstellungen> Allgemein> Arbeitsbereich> Refresh mit nativen Haken). Durch das Deaktivieren dieser Option wird das Problem behoben.

Verwandte Themen