Ich habe ein Java Maven Web App Projekt, das ich versuche aufzuräumen. Im <build>
Abschnitt meines pom.xml
, habe ich folgendes:Wie kann ich das Ressourcenverzeichnis in Maven zum Funktionieren bringen?
<build>
<resources>
<resource>
<filtering>true</filtering>
<directory>src/main/resources</directory>
</resource>
</resources>
<filters>
<filter>profiles/${build.profile.id}.profile.properties</filter>
</filters>
[...other properties...]
</build>
In meinem Projekt, das auf meinem Mac ist /Users/anthony/workspace/my-project/
, ich src/main/resources/profiles/
Ich habe local.profile.properties
und qa.profile.properties
.
Dann in meinem Maven Profile in meinem pom, definiere ich ${build.profile.id}
wie die folgenden:
<profile>
<id>local</id>
[...stuff...]
<properties>
<build.profile.id>local</build.profile.id> <!-- or qa -->
[...stuff...]
</properties>
</properties>
Als ich in meiner Konsole bin und laufen $ mvn clean install -Plocal
, bekomme ich folgende Fehlermeldung:
Failed to execute goal ... on project my-project: Error loading property file '/Users/anthony/workspace/my-project/profiles/local.profile.properties'
.
Es scheint, als ob Maven das Ressourcenverzeichnis für meine Filterprofil-Eigenschaftendatei nicht erkennt. Dies funktioniert nur, wenn ich explizit den gesamten Pfad meiner Eigenschaften setzt Datei, etwa so:
<filters>
<filter>src/main/resources/profiles/${build.profile.id}.profile.properties</filter>
</filters>
Gibt es eine Möglichkeit für mich nicht explizit müssen src/main/resources
angeben? Ich dachte, dass der Sinn von mir, ein Ressourcenverzeichnis zu deklarieren, war, dass ich es benutzen könnte, besonders um die Filterung zu deklarieren.