ฉันสามารถยืนยันได้ว่า Maven 3.x {maven.build.timestamp}
"ใช้งานได้" ในขณะนี้ พวกเขาทำงาน aroundedปัญหาที่เห็นได้ชัด ไม่properties
จำเป็นต้องใช้วิธีแก้ปัญหาเพิ่มเติมอีกต่อไป
อย่างไรก็ตามโปรดระวังปลั๊กอิน "การกรอง" (maven-resources-plugin) ของคุณเป็นเวอร์ชันล่าสุด ต้องค่อนข้างใหม่ดังนั้นหากmvn help:effective-pom
แสดงเวอร์ชันเก่า (เช่น 2.6) ให้ชนกับเวอร์ชันใหม่แก้ไขให้ฉัน 3.x เช่น:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>3.1.0</version>
</plugin>
<properties><timestamp>...
ไม่จำเป็นต้องใช้วิธีแก้ปัญหาอีกต่อไป ...
สิ่งนี้ยังชัดเจนขึ้นด้วยเหตุใดจึงทำงานใน IntelliJ แต่ไม่ใช่บรรทัดคำสั่ง IntelliJ อาจใช้ค่าคงที่ maven "modified / internal" ของตัวเองดังนั้นจึงใช้งานได้ที่นั่น แต่ไม่ใช่จากบรรทัดคำสั่ง maven
นอกจากนี้โปรดทราบว่าหากคุณเพิ่มไดเร็กทอรีทรัพยากรการกรองให้กับคุณคุณอาจต้อง "เพิ่ม" ไดเร็กทอรีเริ่มต้นใหม่ด้วยซึ่งจะสูญหายไปเช่น:
<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>
หมายเหตุถ้าคุณกำลังใช้บูตฤดูใบไม้ผลิเป็นพ่อแม่ของคุณคุณต้องใช้ @ @ maven.build.timestamp แทน โปรดทราบด้วยว่าคุณกำลังใช้สปริงบูตมีไฟล์META-INF/build-info.properties
ที่สร้างขึ้นโดยทางเลือกspring-boot-maven-plugin
ที่คุณสามารถอ่านได้ (ฤดูใบไม้ผลิมีBuildProperties
ถั่วเพื่อความสะดวกในการอ่าน)
target/${project}
โฟลเดอร์ก็โอเคแต่ในการกำหนดค่าแอคทูออลของฉัน Tomcat ไม่ได้ใช้โฟลเดอร์นี้ ...