속성에 pom.xml 버전과 빌드 날짜를 넣는 방법은 무엇입니까?
Java에서 webapp API 작업을 하는 동안 프론트엔드에 앱 버전과 빌드 날짜를 보내야 합니다. 하지만 이것을 어떻게 만들까요?
내 API 빌드가 maven을 기반으로 하므로
리소스 필터링을 담당하는
그리고 빌드 중에 대체될
빌드 후 내

이제 POM에서 버전에 액세스하고 Java 앱에서 마지막 빌드에 쉽게 액세스할 수 있습니다!
모든 것이 원활하게 작동하며
프런트엔드는 백엔드와 함께 배포됩니다(Javalin static files feature 사용 및 파일은 리소스 폴더에서 로드되었습니다.
리소스 필터링 플러그인이
모든
그게 다야 - 이제 모든 것이 정상입니다 ;-)
내 API 빌드가 maven을 기반으로 하므로
pom.xml
파일에서 버전을 가져오는 것에 대해 생각했습니다. 자, 이렇게 해보자!해결책! 거의...
리소스 필터링을 담당하는
pom.xml
파일 구성을 입력해야 합니다.<build>
<!-- clipped -->
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
</build>
그리고 빌드 중에 대체될
app.properties
속성에서:build.version=${pom.version}
build.date=${timestamp}
빌드 후 내
app.properties
이 예상 데이터로 채워집니다.
이제 POM에서 버전에 액세스하고 Java 앱에서 마지막 빌드에 쉽게 액세스할 수 있습니다!
그리고 fin^H^H... 또 다른 문제인가요?
모든 것이 원활하게 작동하며
pom.xml
버전과 빌드 날짜를 얻을 수 있습니다. 하지만... 파비콘은 이제 고장났습니다! 뭐?!프런트엔드는 백엔드와 함께 배포됩니다(Javalin static files feature 사용 및 파일은 리소스 폴더에서 로드되었습니다.
리소스 필터링 플러그인이
favicon.ico
(실제로 모든 .ico
파일)을 처리하고 잘못 저장하여 손상시킨 것으로 나타났습니다. 따라서 필터링에서 해당 파일을 제외해야 합니다!마지막 해결책
pom.xml
의 최종 구성은 아래 스니펫과 같습니다.모든
src/main/resources
파일을 제외한 .ico
의 모든 파일을 처리합니다. 하지만 리소스 폴더에 .ico
을 원합니다. 따라서 추가해야 하지만 필터링(처리)하지 않고 추가해야 합니다.<build>
<!-- clipped -->
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<excludes>
<exclude>**/*.ico</exclude>
</excludes>
</resource>
<resource>
<directory>src/main/resources</directory>
<filtering>false</filtering>
<includes>
<include>**/*.ico</include>
</includes>
</resource>
</resources>
</build>
그게 다야 - 이제 모든 것이 정상입니다 ;-)