Einschließlich der Anwendung Versionsnummer aus pom.xml an Programm-bundle
Jeder pom.xml
haben:
<groupId>com.vendor</groupId>
<artifactId>product</artifactId>
<version>1.0.13.0-dev</version> <!-- THIS FIELD -->
<packaging>war</packaging>
version
Stück ist nützlich, um die Haufen, die mit der Anwendung, so dass Benutzer können sehen und Sie zu melden.
Aber die mag ich nicht code-Duplizierung, und suchen nach einem Weg, um zu vermeiden, dass property-Datei mit version info zur Versionskontrolle (Git/SVN), weil jedes mal, wenn ich bump-version, die ich verpflichten müssen, in zwei stellen (pom.xml
und version.properties
).
Welche Weise kann ich version Eigenschaften von pom.xml
programmgesteuert in Java-Anwendung?
- Sie können diese Informationen gespeichert manifest der jar-oder war-Datei und dann verwenden Sie es in Ihrem Antrag.
- Vielen Dank für die Anregung +1. Derzeit versuche ich zu verwenden Technik von stackoverflow.com/questions/7144620/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Haben Sie einen Blick auf die Maven-Resources-Plugin. In Ihrem
version.properties
(sollte in derresources
Ordner), definieren Sie eine Zeile wieversion=${project.version}
. Stellen Sie sicher, schalten Sie die Filterung für das plugin (die alle im detail beschrieben unter dem link oben) und Sie sollten gut zu gehen!Einfach laufen
mvn resources:resources
(odermvn compile
) und prüfen Sie die generierte Datei.Fand eine Lösung zur Nutzung der maven-war-plugin werden Sie mehr elegant.
Fußzeile.jsp dann hatte:
Meine persönliche Produktion Lösung unten.
pom.xml:
Basis.jsp:
proj.Eigenschaften:
applicationContext.xml:
oder nur
Können Sie einfach konfigurieren Sie die maven-war-plugin, maven-jar-plugin, maven-ear-plugin wie folgt:
Lesen Informationen aus manifest.mf kann mit jacabi.
@Value
für eine.property
- Datei.