Saya dapat mengonfirmasi pada Maven 3.x {maven.build.timestamp}
"bekerja" sekarang. Mereka bekerja arounded masalah, rupanya. Tidak ada tambahanproperties
perlu solusi lagi.
Namun, hati-hati plugin "filtering" Anda (maven-resources-plugin) adalah yang terbaru. Ini perlu relatif baru, jadi jikamvn help:effective-pom
menunjukkan versi lama (mis .: 2.6), ubah ke sesuatu yang lebih baru, perbaiki untuk saya, 3.x ex:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>3.1.0</version>
</plugin>
<properties><timestamp>...
solusi tidak lagi diperlukan ...
Ini juga menjelaskan, mengapa itu berfungsi di IntelliJ tetapi tidak di baris perintah. IntelliJ mungkin menggunakan konstanta maven "diubah / internal" mereka sendiri, jadi IntelliJ berfungsi di sana, tetapi tidak dari baris perintah maven.
Perhatikan juga jika Anda menambahkan direktori resource pemfilteran ke you pom, Anda mungkin juga perlu "menambahkan kembali" direktori default, direktori tersebut akan hilang, misalnya:
<resource>
<directory>src/main/resources-filtered</directory> <!-- to get "maven.build.timestamp" into resource properties file -->
<filtering>true</filtering>
</resource>
<resource>
<directory>src/main/resources</directory> <!-- apparently have to add this is you have the other... -->
</resource>
NB jika Anda menggunakan boot musim semi sebagai orang tua, Anda harus menggunakan @ maven.build.timestamp @ sebagai gantinya . Juga perhatikan jika Anda menggunakan boot musim semi ada file META-INF/build-info.properties
yang secara opsional dibuat oleh spring-boot-maven-plugin
yang dapat Anda baca (musim semi menyediakan BuildProperties
kacang untuk kenyamanan membacanya).
target/${project}
folder, tetapi dalam konfigurasi aktual saya Tomcat tidak menggunakan folder ini ...