배포 시 BootJar 형태와 Jar형태 다른 점이 무엇인지?(BootJar, Jar)

Better late than never·2022년 9월 26일
0

?

프로젝트를 빌드 후 배포하다 보니 어떨 떄는 gradle설정이 BootJar로 되어 있고 어떨 떄는 Jar로 되어 있었는데 뭐가 다른 건지 궁금해서 서치

BootJar

  • Executable Archive

BootJar에 의해 생성된 jar는 executable archive라고 하며, 어플리케이션 실행에 필요한 모든 의존성을 함께 빌드, 해당 파일은 java -jar 명령어를 통해 실행 가능

  • bootJar에 의해 생성된 jar는 java -jar [jar 파일명]으로 실행 시, 문제 없이 실행 즉 executatble jar(실행가능한 jar)

Jar

  • *-plan.jar, Plain Archive

jar에 의해 생성된 jar는 plain archive라고 하며, 어플리케이션 실행에 필요한 모든 의존성을 포함하지 않고 소스코드의 클래스 파일과 리소스 파일만 포함

  • jar에 의해 생성된 jar를 java -jar [jar 파일명]으로 실행 시키려면 기본 Manifest 속성이 없다는 오류와 함께 실행되지 않는다
  • 의존성을 제대로 포함하고 있지 않기 떄문에 java -jar 명령어로 실행이 제대로 이루어 지지 않음

0개의 댓글