SpringBoot 를 배워보자/8. 배포

JAR 파일 생성 및 실행

_Blue_Sky_ 2024. 9. 29. 16:28
728x90
728x90

스프링 부트 JAR 파일 생성 및 실행: 상세 가이드

소개

스프링 부트는 개발 생산성을 높이고 배포를 간편하게 만들어주는 강력한 프레임워크입니다. 이 글에서는 스프링 부트 프로젝트를 하나의 실행 가능한 JAR 파일로 만들고 실행하는 과정을 상세히 설명합니다.

왜 JAR 파일로 만들까요?

  • 단일 배포 파일: 모든 애플리케이션 코드와 의존성을 하나의 파일로 패키징하여 배포가 간편해집니다.
  • 독립적인 실행 환경: 별도의 컨테이너 없이 자체 내장 서버를 이용하여 실행할 수 있습니다.
  • 클라우드 환경에 적합: Docker 이미지 생성이나 서버리스 환경에 배포하기 용이합니다.

JAR 파일 생성 과정

  1. 빌드 도구 설정:
    • Maven: pom.xml 파일에서 spring-boot-maven-plugin 플러그인을 설정합니다.
    • Gradle: build.gradle 파일에서 spring-boot 플러그인을 적용합니다.
  2. 빌드 실행:
    • Maven: mvn clean package 명령을 실행합니다.
    • Gradle: ./gradlew build 명령을 실행합니다.
    빌드가 성공하면 target 또는 build/libs 디렉토리에 실행 가능한 JAR 파일이 생성됩니다.
728x90

JAR 파일 실행

  1. 터미널에서 실행:
    • your-application.jar는 생성된 JAR 파일의 이름입니다.
      java -jar your-application.jar
      
  2. IDE에서 실행:
    • 대부분의 IDE에서는 생성된 JAR 파일을 더블 클릭하거나 실행 구성을 통해 실행할 수 있습니다.

JAR 파일 구조 살펴보기

  • BOOT-INF: 애플리케이션 클래스, 리소스 파일 등이 포함된 폴더입니다.
  • META-INF: 애플리케이션 메타데이터가 포함된 폴더입니다.
  • org/springframework/boot/loader: 스프링 부트 로더 클래스들이 포함된 폴더입니다.

실행 시 옵션 설정

  • 프로파일 설정:
    java -jar your-application.jar --spring.profiles.active=prod
    
  • 포트 변경:
    java -jar your-application.jar --server.port=8081
    
  • 기타 옵션: 스프링 부트 설정 파일(application.properties 또는 application.yml)에서 설정한 값을 덮어쓸 수 있습니다.

추가적인 고려 사항

  • 지방 시간대 설정:
    • spring.timezone 설정을 통해 서버의 시간대를 설정할 수 있습니다.
  • 로그 설정:
    • logging.level 설정을 통해 로그 레벨을 조절할 수 있습니다.
  • 배포 환경:
    • 클라우드 환경(AWS, GCP 등)에 배포 시 각 플랫폼에 맞는 설정이 필요합니다.
  • 데이터베이스 연결:
    • spring.datasource 설정을 통해 데이터베이스 연결 정보를 설정합니다.

  • 프로젝트 구조: 명확한 프로젝트 구조를 유지하면 관리가 용이합니다.
  • 빌드 자동화: CI/CD 파이프라인을 구축하여 자동으로 빌드하고 배포할 수 있습니다.
  • Docker 이미지 생성: Docker 이미지를 생성하여 컨테이너 환경에서 실행할 수 있습니다.
  • Spring Boot Starter: 다양한 기능을 제공하는 스프링 부트 스타터를 활용하여 개발 생산성을 높일 수 있습니다.

결론

스프링 부트를 사용하면 간단한 설정으로 실행 가능한 JAR 파일을 생성하고 배포할 수 있습니다. 이 글에서 설명한 내용을 바탕으로 스프링 부트 프로젝트를 효과적으로 관리하고 배포해 보세요.

 

728x90
728x90