Versionsinfo aus POM

  • Beitrags-Autor:
  • Beitrags-Kategorie:Java

in „pom.xml“ die Ressource bekannt machen

<build>
  <resources>
    <resource>
      <directory>src/main/resources</directory>
      <filtering>true</filtering>
      <includes>
        <include>**/version.txt</include>
      </includes>
    </resource>
    <resource>
      <directory>src/main/resources</directory>
      <filtering>false</filtering>
      <excludes>
        <exclude>**/version.txt</exclude>
      </excludes>
    </resource>
  </resources>
  <!-- weitere Einträge ... -->
</build>

in „src/main/resources“ die Datei „version.txt“ mit folgendem Inhalt anlegen

${project.version}

im Programmcode (nach dem Bauen) auf Information zugreifen

String versionString = Files.readString(Paths.get(
    ApplicationBean.class.getClassLoader()
    .getResource("version.txt").toURI()));

beim Lesen aus Jar-Datei einen InputStream nutzen

try (InputStream in = getClass().getResourceAsStream("/version.txt")) {
    String versionString = new String(in.readAllBytes());
} catch (IOException ex) {
    ex.printStackTrace();
}