मैं इस बात की पुष्टि कर सकता हूं कि मावेन 3.x {maven.build.timestamp}अभी "काम" कर रहा है। वे समस्या के आसपास काम करते हैं , जाहिरा तौर पर। अतिरिक्त कुछ नहींpropertiesअब समाधान की आवश्यकता नहीं है।
हालांकि, अपने "फ़िल्टरिंग" प्लगइन (मावेन-रिसोर्स-प्लगइन) से सावधान रहें। इसे अपेक्षाकृत नया होना चाहिए, इसलिए यदि mvn help:effective-pomकोई पुराना संस्करण दिखाता है (उदाहरण: 2.6), तो इसे कुछ नया करने के लिए उछालें, इसे मेरे लिए निर्धारित करें, 3.x ex:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>3.1.0</version>
</plugin>
<properties><timestamp>... वर्कअराउंड की अब आवश्यकता नहीं है ...
इससे यह भी साफ हो गया कि यह किस तरह से इंटेलीज में काम कर रहा है, लेकिन कमांड लाइन में नहीं। इंटेलीज शायद अपने स्वयं के "संशोधित / आंतरिक" मावेन स्थिरांक का उपयोग करता है, इसलिए यह वहां काम कर रहा था, लेकिन मावेन कमांड लाइन से नहीं।
यह भी ध्यान दें कि यदि आप किसी फ़िल्टरिंग संसाधन निर्देशिका को पोम में जोड़ते हैं, तो आपको डिफ़ॉल्ट निर्देशिका को "पुनः जोड़ने" की भी आवश्यकता हो सकती है, यह खो जाता है, पूर्व:
<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 यदि आप अपने माता-पिता के रूप में स्प्रिंग बूट का उपयोग कर रहे हैं, तो आपको इसके बजाय @ maven.build.timestamp @ का उपयोग करना होगा । यह भी ध्यान दें कि यदि आप स्प्रिंग बूट का उपयोग कर रहे हैं तो एक फाइल META-INF/build-info.propertiesहै जो वैकल्पिक रूप से बनाई गई है spring-boot-maven-pluginजिसे आप पढ़ सकते हैं (वसंत BuildPropertiesइसे पढ़ने के लिए एक बीन प्रदान करता है)।
target/${project}फ़ोल्डर में ठीक है , लेकिन मेरे एक्टुअल कॉन्फ़िगरेशन में टॉमकैट इस फ़ोल्डर का उपयोग नहीं कर रहा है ...