속성에 pom.xml 버전과 빌드 날짜를 입력하는 방법은 무엇입니까?
내 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 앱에서 마지막 빌드를 쉽게 할 수 있습니다!
그리고 ^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>
그게 다야 - 이제 모든 것이 정상입니다 ;-)
Reference
이 문제에 관하여(속성에 pom.xml 버전과 빌드 날짜를 입력하는 방법은 무엇입니까?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/elwin013/how-to-put-pom-xml-version-and-build-date-in-properties-3i4b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)