Ci sono sicuramente diverse possibilità ma una semplice è sfruttare il resource filtering di Maven (che va attivato nel pom). Poi crei un file di .properties (sotto resources, naturalmente) con una property del tipo:
app.version = ${project.version}
Grazie al resource filtering quella ${ ... } viene espansa da Maven durante il build e nel file di properties che l'applicazione usa realmente c'è qualcosa tipo app.version = 1.0
A quel punto leggi il file di properties da Java come "risorsa" in classpath.
Ah, puoi usare ovviamente anche le altre property di maven, project.name, ecc...