2026년 상식닷컴 선정 식당 & 카페 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요

Gradle에서 Spring Boot의 실행 가능한 JAR 파일을 만드는 방법은 무엇인가요?

_____
Q1: Gradle로 Spring Boot 실행 가능한 JAR 파일은 어떻게 만드나요?
A1: Gradle 빌드 스크립트에 `org.springframework.boot` 플러그인을 적용하고, `bootJar` 태스크를 사용하면 실행 가능한 JAR 파일을 생성할 수 있습니다.

예시 `build.gradle` 설정:
```gradle
plugins {
id 'org.springframework.boot' version '2.7.5' // Spring Boot 플러그인 적용
id 'io.spring.dependency-management' version '1.0.13.RELEASE'
id 'java'
}

group = 'com.example'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11'

repositories {
mavenCentral()
}

dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

// 실행 가능한 JAR 생성은 bootJar 태스크를 통해 자동 처리됨
```

빌드 후:
```bash
./gradlew bootJar
```

`build/libs/` 폴더 안에 실행 가능한 JAR 파일 (예: `myapp-0.0.1-SNAPSHOT.jar`)이 생성됩니다.

---

Q2: `bootJar`와 `jar` 태스크는 어떤 차이가 있나요?
A2: `jar` 태스크는 일반적인 JAR 파일을 생성하고, 라이브러리 의존성을 포함하지 않습니다. 반면 `bootJar`는 의존성 및 필요한 모든 리소스를 포함해 Spring Boot가 바로 실행 가능한 JAR을 만듭니다. 따라서 실행 가능한 Spring Boot 앱은 `bootJar`로 만듭니다.

---

Q3: 만약 `bootJar`가 실행되지 않으면 어떻게 해야 하나요?
A3: 아래 사항을 확인하세요.
- `org.springframework.boot` 플러그인이 제대로 적용되었는지 확인
- `bootJar`를 명시적으로 실행 (`./gradlew bootJar`)
- `build.gradle`에서 `jar.enabled = false`를 설정하면 `bootJar`가 우선 빌드됨

---

Q4: 커스텀 실행 JAR 옵션을 주고 싶을 때는 어떻게 하나요?
A4: `bootJar` 태스크에 옵션을 추가 가능합니다. 예를 들어, 메인 클래스 지정:
```gradle
bootJar {
mainClassName = 'com.example.demo.DemoApplication'
}
```

Spring Boot 2.5 이상에서는 아래와 같이 변경된 점 참고:
```gradle
bootJar {
mainClass.set('com.example.demo.DemoApplication')
}
```

---

Q5: 빌드 후 JAR 파일은 어떻게 실행하나요?
A5: 생성된 JAR 파일 위치(기본 `build/libs/`)에서 다음 명령어로 실행합니다.
```bash
java -jar myapp-0.0.1-SNAPSHOT.jar
```

---

Q6: 다중 모듈 프로젝트에서 실행 가능한 JAR을 만들려면?
A6: 각 모듈의 `build.gradle`에 `org.springframework.boot` 플러그인과 `bootJar` 설정을 추가하고, 부모 프로젝트에서 모듈별로 `bootJar`를 실행하세요.

---

요약:
- `org.springframework.boot` Gradle 플러그인 적용
- `./gradlew bootJar` 실행
- `build/libs/` 경로에서 실행 가능한 JAR 확인 및 실행

이렇게 하면 Gradle을 사용해 Spring Boot 애플리케이션의 실행 가능한 JAR 파일을 쉽게 만들 수 있습니다.
Spring Boot 애플리케이션을 Gradle을 사용하여 실행 가능한 JAR 파일로 만드는 과정은 비교적 간단합니다.

Gradle은 Java 기반의 빌드 도구로, Spring Boot와 함께 사용하면 애플리케이션을 쉽게 패키징하고 배포할 수 있습니다.

아래는 Gradle을 사용하여 Spring Boot 애플리케이션의 실행 가능한 JAR 파일을 만드는 방법에 대한 단계별 가이드입니다.

1. Gradle 프로젝트 설정 먼저, Gradle 프로젝트를 설정해야 합니다.

Gradle을 사용하여 Spring Boot 애플리케이션을 만들기 위해서는 `build.gradle` 파일을 생성하고 필요한 의존성을 추가해야 합니다.

build.gradle 파일 예시 ```groovy plugins { id 'org.springframework.boot' version '3.0.0' // Spring Boot 버전 id 'io.spring.dependency-management' version '1.0.11.RELEASE' // 의존성 관리 id 'java' // Java 플러그인 } group = 'com.example' // 그룹 ID version = '0.0.1-SNAPSHOT' // 버전 sourceCompatibility = '17' // Java 버전 repositories { mavenCentral() // Maven 중앙 저장소 } dependencies { implementation 'org.springframework.boot:spring-boot-starter' // Spring Boot 스타터 testImplementation 'org.springframework.boot:spring-boot-starter-test' // 테스트 스타터 } tasks.named('jar') { enabled = true // JAR 태스크 활성화 } ```

2. 애플리케이션 클래스 생성 Spring Boot 애플리케이션의 진입점이 되는 클래스를 생성해야 합니다.

이 클래스는 `@SpringBootApplication` 애노테이션으로 주석 처리되어야 합니다.

예시 애플리케이션 클래스 ```java package com.example.demo; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } } ```

3. Gradle 빌드 실행 이제 Gradle을 사용하여 애플리케이션을 빌드할 준비가 되었습니다.

터미널에서 다음 명령어를 실행하여 JAR 파일을 생성합니다.

```bash ./gradlew build ``` 이 명령어는 `build` 디렉토리 내에 JAR 파일을 생성합니다.

생성된 JAR 파일은 `build/libs` 디렉토리에서 확인할 수 있습니다.



4. 실행 가능한 JAR 파일 만들기 Spring Boot는 기본적으로 실행 가능한 JAR 파일을 생성합니다.

위의 `build.gradle` 설정에서 `spring-boot-gradle-plugin`을 사용하고 있기 때문에, `./gradlew build` 명령어를 실행하면 `fat JAR` 또는 `uber JAR`가 생성됩니다.

이 JAR 파일은 모든 의존성을 포함하고 있어, 별도의 설정 없이도 실행할 수 있습니다.



5. JAR 파일 실행 생성된 JAR 파일을 실행하려면 다음 명령어를 사용합니다.

```bash java -jar build/libs/demo-0.0.1-SNAPSHOT.jar ``` 여기서 `demo-0.0.1-SNAPSHOT.jar`는 생성된 JAR 파일의 이름입니다.

이 명령어를 실행하면 Spring Boot 애플리케이션이 시작됩니다.



6. 추가 설정 (선택 사항) - 프로파일 설정 : Spring Boot는 다양한 환경(개발, 테스트, 프로덕션 등)에 따라 설정을 다르게 할 수 있습니다.

`application.properties` 또는 `application.yml` 파일을 사용하여 환경별 설정을 관리할 수 있습니다.

- JAR 파일 이름 변경 : `build.gradle` 파일에서 `jar` 태스크의 `archiveBaseName` 속성을 설정하여 JAR 파일의 이름을 변경할 수 있습니다.

```groovy tasks.named('jar') { archiveBaseName.set('my-custom-name') } ``` 결론 이와 같이 Gradle을 사용하여 Spring Boot 애플리케이션을 실행 가능한 JAR 파일로 만드는 과정은 간단합니다.

Gradle의 강력한 빌드 시스템과 Spring Boot의 편리한 설정 덕분에, 개발자는 애플리케이션을 쉽게 패키징하고 배포할 수 있습니다.

이 과정을 통해 생성된 JAR 파일은 다양한 환경에서 실행할 수 있으며, 필요한 경우 추가적인 설정을 통해 더욱 유연하게 관리할 수 있습니다.

작성자: 정지훈 [비회원] | 작성일자: 1년 전 2025-01-01 07:52:06
조회수: 172 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
내용이 부정확하다면 싫어요를 클릭해주세요.