Я могу подтвердить, что Maven 3.x {maven.build.timestamp}
сейчас "работает". Видимо, они работают над решением проблемы. Больше не 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, поэтому он работал там, но не из командной строки maven.
Также обратите внимание, что если вы добавляете каталог ресурсов фильтрации к своему pom, вам может потребоваться также «повторно добавить» каталог по умолчанию, он теряется, например:
<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
который вы можете читать (Spring предоставляет BuildProperties
компонент для удобства чтения).
target/${project}
папке в порядке , но в моей конфигурации Actall Tomcat не использует эту папку ...