Come accedere a maven.build.timestamp per il filtraggio delle risorse

Sto usando maven 3.0.4 e vorrei rendere la timestamp di compilazione accessibile alla mia applicazione. Per questo, sto mettendo un segnaposto in un file .properties e lasciamo il filtro .properties su build. Mentre questo sta funzionando bene per ${project.version} , ${maven.build.timestamp} non è sostituito sul filtro.

La proprietà sembra essere disponibile su build: posso usarla per modificare il nome del manufatto:

${project.artifactId}-${maven.build.timestamp}

Quindi, perché non è disponibile per il filtro delle risorse? E, cosa più importante, come posso renderlo accessibile?

Ho scoperto questo articolo , spiegando che a causa di un bug in Maven , il timestamp della build non viene propagato al filtro. La soluzione alternativa è di avvolgere il timestamp in un’altra proprietà:

  ${maven.build.timestamp} yyyy-MM-dd HH:mm  

Il filtro funziona quindi come previsto

 buildTimestamp=${timestamp} 

Per arricchire il contenuto Stackoverflow per gli altri, come me, ho trovato questo post come un modo per risolvere il “problema” di ${maven.build.timestamp} . Questo non è un bug esperto, ma un comportamento atteso di m2e, come si può vedere in questo post .

Pertanto, credo che non possiamo aspettarci che la soluzione sia “corretta”, poiché, da quello che ho capito, la correzione comporta problemi concettuali.

Nel mio caso, quello che ho fatto è stato usare il plugin ( buildnumber-maven-plugin ) come descritto in questo altro post .