본격적으로 프로젝트 구성을 해보도록 하겠습니다. 이번 시간의 목표는 초기 프로젝트를 직접 구성해보는 것입니다. Kotlin + 스프링부트 + Gradle 기반이며 사용하는 IDE 는 IntelliJ Ultimate Edition 입니다. 현업에서 사용하는 환경과 유사하게 구성하기 위해 멀티 모듈 환경으로 만들어 볼 예정입니다. 형상 관리는 Github 으로 합니다.
먼저, IntelliJ 를 켜보자. IntelliJ 를 켜면 아래와 같은 화면이 나온다. 새로운 프로젝트를 생성하기 위해 "NEW PROJECT" 를 클릭한다.
NEW PROJECT 를 클릭하면 아래와 같은 화면이 나온다. Gradle 프로젝트로 생성한다. (IntelliJ 버전에 따라 아래 화면은 좀 달라질 수 있다.) 참고로 Gradle 뿐만 아니라 SpringInitializr 등 다양한 방법으로 구현할 수 있지만 여기서는 Gradle 을 활용하고자 한다.
- 1) "Gradle": gradle 프로젝트로 생성
- 2) "Kotlin DSL build script": Kotlin 기반의 build.gradle 파일을 만들기
- 3) "Kotlin/JVM": Kotlin 기반의 프로젝트로 만들기
선택을 완료하고 NEXT 를 클릭한다.
프로젝트에 대한 기본 정보를 입력할 수 있는 화면이 나오는데, 아래 정보를 참고하여 채워넣는다.
- 1) "Name": 프로젝트 이름 설정
- 2) "Location": 프로젝트가 저장될 물리적 위치
- 3) "GroupId": 프로젝트를 정의하는 식별자. package 네이밍 컨벤션을 따르는 것을 추천
- 4) "ArtifactId": 버전이 없는 jar 파일 이름. 소문자로 작성
- 5) "Version": 프로젝트 버전 (배포 시 활용)
FINISH 버튼을 마지막으로 클릭하면 기본적인 Gradle 기반의 프로젝트가 완성된다.
생성된 프로젝트를 살펴보면 소스코드를 입력할 수 있는 src/main, src/test 디렉토리 뿐만 아니라 build.gradle.kts, settings.gradle.kts 와 같이 Gradle 관련 파일들이 포함되어 있다. 이 파일들에 대해 알아보자.
src 디렉토리는 지워도 된다.
Gradle 파일 이해하기
Gradle 관련 파일들로는 gradle-wrapper.jar, gradle-wrapper.properties, build.gradle.kts, gradle.properties, gradlew, gradlew.bat, settings.gradle.kts 파일들이 있으며 아래 구조로 구성되어 있다. 이 중에서 build.gradle.kts 와 settings.gradle.kts 가 이후 설정에서 가장 중요한 역할을 한다.
|-- gradle
| |-- wrapper
| |-- gradle-wrapper.jar // wrapper 파일
| |-- gradle-wrapper.properties // wrapper 설정 파일
|-- build.gradle.kts
|-- gradle.properties
|-- gradlew // 유닉스용 wrapper 실행 스크립트, ./gradlew {task} 형태로 사용
|-- gradlew.bat // 윈도우용 wrapper 실행 스크립트
|-- settings.gradle.kts
- gradle-wrapper.jar, gradle-wrapper.properties: 이미 존재하는 프로젝트를 새로운 환경에서 별도의 Java 또는 Gradle 설치 없이 빌드할 수 있음. 환경에 종속되지 않고 프로젝트를 빌드할 수 있음
- build.gradle.kts: 의존성이나 플러그인 설정 등을 위한 Gradle 빌드 스크립트 파일
- gradle.properties: Gradle 빌드 스크립트 파일의 설정 파일. 빌드 설정을 하거나 성능을 최적화할 때 사용하게 됨
- settings.gradle.kts: 프로젝트의 구성 정보를 기록하는 파일. 하위 프로젝트가 어떤 관계로 구성되어 있는지 기술하며 Gradle 은 이 파일을 기반으로 프로젝트를 구성하게 됨
참고
IntelliJ 버전
IntelliJ 를 활용하여 간단하게 Gradle 프로젝트를 만들었습니다. 다음 시간에는 멀티 모듈로 스프링부트 환경을 구축하는 방법에 대해 알아보도록 하겠습니다.
'스프링 > 만들면서 배우는 실무 백엔드 개발' 카테고리의 다른 글
5. Upbit API 연결하기 (0) | 2023.03.22 |
---|---|
4. 스프링부트 3.0 적용하기 (feat. HelloWorld API 만들기) (0) | 2023.03.22 |
3. Github 연동하기 (0) | 2023.03.21 |
2. 멀티 모듈 프로젝트 구성하기 (0) | 2023.03.21 |
0. 업비트 OPEN API 를 활용하여 가상화폐 서비스 개발하기 (0) | 2023.03.21 |
댓글