Notice
Recent Posts
Link
Tags
- select
- spring
- Git
- spring mvc
- 프로그래머스
- java
- 문자열
- Docker
- spring boot
- 데이터베이스
- AWS
- mysql
- springboot
- @transactional
- ORM
- jpa
- string
- 스프링
- PYTHON
- 자바
- Django
- join
- DI
- nginx
- sql
- 스프링부트
- spring security 6
- 1차원 배열
- SSL
- session
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Archives
개발하는 자몽
[Gradle] gradle build와 gradle bootJar의 차이 본문
`Dockerfile` 안에서 스프링 부트 프로젝트를 `gradlew`로 빌드하려고 찾아보니 `build` 말고 `bootJar`를 추천했다. 이유가 궁금해져서 이렇게 글을 정리하게 되었다.
build
`build`는 Base Plugin이 제공하는 생명주기 작업으로, 대상 소스의 생명주기 확인이나 어셈블 작업을 수행한다. 여기에는 테스트 실행이나 프로덕션 아티팩트 생성 등이 포함되어 있다.
bootJar
`bootJar`는 대상 소스를 실행가능한 `jar` 파일로 빌드하는 것으로, 빌드 속도가 `build` 작업에 비해 빠르고 당연히 생성되는 것도 적다. 이렇게 빌드된 파일은 `build/libs/*.jar`에 위치하게 된다.
이렇게 생성된 파일을 대상으로 `jar -xf {대상 jar 파일}` 명령어를 실행하여 압축을 풀면 `BOOT-INF`, `META-INF`, `org` 폴더가 생긴다.
해당 폴더들이 무엇을 의미하는 지는 여기 링크를 참고하자. 잘 정리되어 있다.
참고
'Java' 카테고리의 다른 글
Java/Spring 테스트 - 2 (0) | 2024.11.04 |
---|---|
Java/Spring 테스트 - 1 (2) | 2024.10.02 |
[Java] new Integer와 Integer.valueOf()의 차이점 (0) | 2024.08.11 |
Java에서 외부 프로그램 실행하기 (zt-exec) (0) | 2024.07.06 |
[TIL / JPA] 데이터베이스 스키마 자동 생성, UNIQUE 제약 조건 관련 TIL (0) | 2024.06.30 |
Comments