2016-11-11 1 views
0

Ich möchte einige lokale Konfigurationsdateien zum Klassenpfad von Maven Mavenprojekt hinzufügen. Diese Dateien "config-local" sollten die bestehende Standardkonfigurationsdatei aus meinem Ressourcenverzeichnis überschreiben. Nur wenn das Verzeichnis "config-local" existiert, sollten die Standard-Konfigurationsdateien durch die lokale Konfiguration ersetzt werden.Maven überschreibt Dateien im Klassenpfad, wenn Ordner Y existiert

Ich habe versucht, das Verzeichnis als Ressource zu meinem Maven Build hinzufügen, aber es hat nicht funktioniert und ich bin mir nicht sicher, was passieren könnte, wenn die Config-local nicht existiert.

Antwort

0

Die Antwort war sehr einfach:

Maven Ressourcen Plugin die Ressourcen in umgekehrter der Reihenfolge der Deklaration ergänzt:

<build> 
    <sourceDirectory>src/main/java</sourceDirectory> 
    <resources> 
     <!-- The resources will be placed in reversed order in the war 
      that means first entry will be added as last resource and may override other resources --> 
     <resource> 
      <!-- ATTENTION! we need the config-local declration at first cause it shall be placed as last resource in the classpath --> 
      <directory>config-local</directory> 
     </resource> 
     <resource> 
      <directory>src/main/java</directory> 
      <includes> 
       <include>**/*.xml</include> 
       <include>**/*.properties</include> 
      </includes> 
     </resource> 
     <resource> 
      <directory>src/main/resources</directory> 
     </resource> 
    </resources> 

einfach die config-lokale Ressource auf bewegend und es wird als letzte Ressource hinzugefügt werden und kann andere Standarddateien überschreiben. Wenn der Ordner nicht existiert, wird Maven ihn ohne Probleme überspringen.

Verwandte Themen