Maven 3.x'in {maven.build.timestamp}
şu anda "çalıştığını" doğrulayabilirim . Onlar arounded çalışır görünüşe göre, sorunu. Artık ek properties
geçici çözüme gerek yok.
Ancak, "filtreleme" eklentinizin (maven-kaynaklar-eklentisi) güncel olmasına dikkat edin. Nispeten yeni olması gerekir, bu nedenle mvn help:effective-pom
eski bir sürümü gösterirse (ör: 2.6), onu daha yeni bir şeye çarpın, benim için düzeltin, 3.x ex:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>3.1.0</version>
</plugin>
<properties><timestamp>...
geçici çözüm artık gerekli değil ...
Bu aynı zamanda neden IntelliJ'de çalıştığını ama komut satırında çalışmadığını da açıklığa kavuşturdu. IntelliJ muhtemelen kendi "değiştirilmiş / dahili" maven sabitlerini kullanır, bu yüzden orada çalışıyordu, ancak maven komut satırından değil.
Ayrıca, pom'a bir filtreleme kaynağı dizini eklerseniz, varsayılan dizini de "yeniden eklemeniz" gerekebileceğini unutmayın; kaybolur, örn:
<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>
Dikkat: Spring boot'u ebeveyniniz olarak kullanıyorsanız, bunun yerine @ maven.build.timestamp @ kullanmanız gerekir . Ayrıca, yaylı önyükleme kullanıyorsanız META-INF/build-info.properties
, isteğe bağlı olarak okuyabileceğiniz bir dosya spring-boot-maven-plugin
olduğunu unutmayın (yay, okumayı kolaylaştırmak için bir fasulye sağlar ).BuildProperties
target/${project}
klasörde değiştirme tamam , ancak gerçek yapılandırmamda Tomcat bu klasörü kullanmıyor ...