이제 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 상수를 사용하므로 거기에서 작동했지만 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
있습니다 (스프링은 읽기 편의를 위해 빈을 제공합니다).BuildProperties
target/${project}
폴더 에서 교체는 괜찮지 만 실제 구성에서는 Tomcat 이이 폴더를 사용하지 않습니다 ...