728x90
스프링 부트 JAR 파일 생성 및 실행: 상세 가이드
소개
스프링 부트는 개발 생산성을 높이고 배포를 간편하게 만들어주는 강력한 프레임워크입니다. 이 글에서는 스프링 부트 프로젝트를 하나의 실행 가능한 JAR 파일로 만들고 실행하는 과정을 상세히 설명합니다.
왜 JAR 파일로 만들까요?
- 단일 배포 파일: 모든 애플리케이션 코드와 의존성을 하나의 파일로 패키징하여 배포가 간편해집니다.
- 독립적인 실행 환경: 별도의 컨테이너 없이 자체 내장 서버를 이용하여 실행할 수 있습니다.
- 클라우드 환경에 적합: Docker 이미지 생성이나 서버리스 환경에 배포하기 용이합니다.
JAR 파일 생성 과정
- 빌드 도구 설정:
- Maven: pom.xml 파일에서 spring-boot-maven-plugin 플러그인을 설정합니다.
- Gradle: build.gradle 파일에서 spring-boot 플러그인을 적용합니다.
- 빌드 실행:
- Maven: mvn clean package 명령을 실행합니다.
- Gradle: ./gradlew build 명령을 실행합니다.
728x90
JAR 파일 실행
- 터미널에서 실행:
- your-application.jar는 생성된 JAR 파일의 이름입니다.
java -jar your-application.jar
- your-application.jar는 생성된 JAR 파일의 이름입니다.
- 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
'SpringBoot 를 배워보자 > 8. 배포' 카테고리의 다른 글
클라우드 플랫폼 (AWS, GCP 등)에 배포 (0) | 2024.09.29 |
---|---|
WAR 파일 생성 및 배포 (0) | 2024.09.29 |