mercoledì 22 giugno 2011

Recupero della versione del pom all'interno di una classe java

Java permette di recuperare la versione di un jar tramite codice. La versione deve essere dichiarata all'interno del manifest nell'attributo Implementation-Version.
Per un progetto maven è sufficiente customizzare la generazione del manifest configurando il maven-jar-plugin nel pom:
[...]

 
  
   org.apache.maven.plugins
   maven-jar-plugin
   true
   
    
     
      
      it.sinossi.poc.Main
      
      true
     
    
   
  
 

[...]

Nel codice java possiamo recuperare la versione con il seguente codice:
String version = getClass().getPackage().getImplementationVersion(); 

Questa soluzione funziona solo eseguendo il jar, se per esempio viene eseguito
il codice da eclipse la variabile version sarà null.


Per maggiorni informazioni vedere anche:

Package.getImplementationVendor()
Maven - Manifest customization