개발하는 자몽

[Gradle] gradle build와 gradle bootJar의 차이 본문

Java & Kotlin

[Gradle] gradle build와 gradle bootJar의 차이

jaamong 2024. 9. 6. 16:45

Dockerfile 안에서 스프링 부트 프로젝트를 gradlew로 빌드하려고 찾아보니 build 말고 bootJar를 추천했다. 이유가 궁금해져서 이렇게 글을 정리하게 되었다.

 

build

build Base Plugin이 제공하는 생명주기 작업으로, 대상 소스의 생명주기 확인이나 어셈블 작업을 수행한다. 여기에는 테스트 실행이나 프로덕션 아티팩트 생성 등이 포함되어 있다.

 

bootJar

bootJar는 대상 소스를 실행가능한 jar 파일로 빌드하는 것으로, 빌드 속도가 build 작업에 비해 빠르고 당연히 생성되는 것도 적다. 이렇게 빌드된 파일은 build/libs/*.jar에 위치하게 된다. 

 

이렇게 생성된 파일을 대상으로 jar -xf {대상 jar 파일} 명령어를 실행하여 압축을 풀면 BOOT-INF, META-INF, org 폴더가 생긴다.

 

해당 폴더들이 무엇을 의미하는 지는 여기 링크를 참고하자. 잘 정리되어 있다.  

 

 

 

 

 

참고

Comments