2010-09-23 7 views
5

Dies ist ein einfacher Filteransatz, um die Projektversion in eine Datei zu schreiben.Maven-Filterressourcen und Hinzufügen der Projektversion

<build> 
<resources> 
    <resource> 
    <directory>src/main/webapp</directory> 
    <includes> 
     <include>**/*.version</include> 
    </includes> 
    <filtering>true</filtering> 
    </resource> 
</resources> 
</build> 

Das ist die Struktur Projekt (von links aus den unintresting Teilen)

├───src 
│ └───main 
│  ├───java 
│  │ └─── [...] 
│  └───webapp 
│   ├───META-INF 
│   └───WEB-INF 
│    ├───cfg 
│    └───portal.version 
└─── pom.xml 

Der Gehalt an portal.version

${project.version} 

mit der Artefakt-Version der pom.xml ersetzt Dies sollte aber leider passiert nichts. Was ist los mit dir? Vielen Dank im Voraus

+0

Ich würde Ihnen mehr als einen Punkt nur für die Frage geben. Navigieren durch die Maven-Dokumentation ist eine Hölle, und in der Regel ergibt sich ein langes und komplexes XML-Snippet. Das ist klar, schnell und unmittelbar. – Dacav

Antwort

4

Wenn Sie ein Ressourcenelement angeben, wird das Ergebnis des gefilterten Inhalts in einen Ziel-/Klassenordner kopiert. Um Web-App-Ressourcen zu filtern, könnten Sie maven-war-plugin konfigurieren.

Obwohl, um die Version zu erhalten, ist es in den meisten Fällen besser, eine Maven-Standardeigenschaftsdatei in Ihrer Anwendung zu lesen, z. META-INF\maven\<groupId>\<artifactId>\pom.properties

+0

Vielen Dank, aber ich möchte Maven nicht so eng an meine Anwendung binden. – codevour

Verwandte Themen