[Spring] Spring boot 프로젝트 Docker 이미지화 || .jar 파일이란?

혜 콩·2024년 2월 27일

Backend

목록 보기
6/9

Spring boot 프로젝트를 Docker 이미지로 만들려던 중...
.jar 파일을 생성해야 한다는데! 그 파일을 도커가 읽어서 이미지로 만드나보다
코드를 수정할 때마다 .jar 파일을 생성해야 최신 코드가 이미지화 되는 것 같다
근데 .jar 파일이 정확히 뭐지? 싶어서 쓰는 포스트~👩‍🎤

.jar 파일❓

  • 자바에서 사용되는 아카이브 (.zip과 유사하다)
  • 컴파일 된 Class 파일 등 자바의 여러 파일이 포함된 단일 파일이다.

즉, 자바의 편리한 컨테이너 역할이며 .zip과 같은 방식으로 압축한다.

Spring Boot에서 Application을 Run해도 실행 가능한 jar파일은 생성되지 않기 때문에 수동적으로 jar 파일을 생성해야 한다.

Gradle BootJar을 통해 .jar 파일 생성

  1. intelliJ 우측 바에 위치한 Gradle 탭을 클릭
  2. Tasks → build → bootJar 선택
  3. bootJar Run

매번 코드가 수정될 때마다 직접 run해서 파일 생성하는게 귀찮다면...❓
➡️ https://lemontia.tistory.com/1056
application run 할 때마다 자동으로 .jar 파일이 생성되는 방법이다. 살짝 복잡함


멀티 모듈 방식 사용하는데 에러가 나요!

Gradle build failed: Main class name has not been configured and it could not be resolved

전우들이여 이런 에러를 보았는가?
난 보았다...
찾아보니 멀티 모듈 방식으로 프로젝트를 구성했을 경우 나타나는 오류 같다.
Main class를 찾지 못하는 것! 그럼 그냥 꼬옥 메인 spring 클래스 지정해주면 돼~

bootJar {
	mainClass = 'com.example.ExampleApplication'
}


성공적

Docker Image 생성

docker build -t {이미지명} .

Arg를 지정하는 부분이기 때문에 뒤에 . (점)을 꼭 찍어줘야 한다!!


베리 굿


profile
배우고 싶은게 많은 개발자📚

0개의 댓글