Notice
Recent Posts
Recent Comments
Link
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Archives
Today
Total
관리 메뉴

탐구개발

Spring Boot 프로젝트 생성 (IntelliJ) 본문

프로젝트

Spring Boot 프로젝트 생성 (IntelliJ)

탐구개발자 2023. 11. 8. 14:45

 

IntelliJ에서 새 Spring Boot 프로젝트는 생성하고 간단하게 실행해 보겠습니다.

 

  1. 새 Spring Boot 프로젝트 생성
  2. Spring Boot 실행

 

1. 새 Spring Boot 프로젝트 생성

새 프로젝트(New Project) 버튼을 클릭합니다. 아래 이미지는 최근 열어본 프로젝트가 없는 경우 뜨는 화면입니다. (최근 프로젝트가 최근 프로젝트(Recent Project)가 있는 경우에는 오른쪽 상단에 버튼으로 노출되고, 이미 열려있는 프로젝트가 있으면 상단 메뉴 File > New를 클릭합니다)

 

왼쪽 패널에서 Spring Initializr를 클릭합니다.

 

프로젝트 이름(Name), 위치(Location)를 원하는 이름과 위치로 지정합니다. 저는 소모임 관련 API 서버를 만들 계획이라 아래와 같이 프로젝트 이름을 지었습니다. 위치는 사용자 홈 디렉터리 아래에 Project 폴더를 만들었습니다. 본인이 관리하기 편하도록 생성하시면 됩니다.

 

그룹(Group)은 프로젝트 고유식별자로, 일반적으로 회사의 도메인을 거꾸로 씁니다. (예시 : naver.com -> com.naver) 패키지 명명 규칙을 따르시면 됩니다.

 

JDK는 IntelliJ를 막 설치한 직후라면 따로 추가작업이 필요합니다. Add SDK를 클릭해서 Download JDK를 선택하여 다운로드하거나 Add JDK를 선택하여 현재 로컬 컴퓨터에 설치된 JDK를 IntelliJ에 추가해 줍니다.

 

JDK란?
JDK는 Java Development Kit로 자바로 개발하고 실행하는 데 필요한 도구와 라이브러리를 제공하는 개발 키트입니다. 자바 언어와 관련된 컴파일러, 디버거, 런타임 환경 등을 포함합니다. JDK를 선택할 때는 버전과 종류를 고려해야 합니다. 주요 버전은 8, 11이고, 종류는 Amazon Coretto, Oracle OpenJDK, AdoptOpenJDK 등이 있습니다. 
Oracle OpenJDK? aarch64?

Download JDK에서 다음과 같은 옵션을 볼 수 있습니다. JDK 종류를 표현할 때 보통 OracleJDK, OpenJDK라고 표현하는데 Oracle OpenJDK는 뭔가 싶어서 따로 찾아보았습니다. 실제로 다운로드하여보니 그냥 OpenJDK라고 뜨는 걸로 보아 OpenJDK를 나타내는 것 같습니다. 단지 OpenJDK도 Oracle이 참여하고 OracleJDK와 같은 기반이기 때문에 저렇게 표기된 것 같습니다.

aarch64를 이해하기 위해서는 CPU 아키텍처를 이해해야 합니다. 간단하게만 설명하면 CPU 동작에 사용되는 CPU 명령어셋 구조는 CISC(Complex Instruction Set Computer, 복잡 명령 집합 컴퓨터)와 RISC(Reduced Instruction Set Computer, 축소 명령 집합 컴퓨터)가 있습니다. CISC에는 x86, x86_64 (amd64, Intel64)가 있으며 주로 PC, 노트북에 많이 사용됩니다. 제조사로는 Intel, AMD가 있습니다. RISC에는 arm, arm64 (arm64/v8, AArch64)가 있으며 주로 모바일, 소형기기에 사용되다가 최근 PC에도 사용되고 있습니다. 대표적으로 Apple의 M1 칩입니다. aarch64는 arm64 (arm64/v8, AArch64) CPU에 맞게 빌드된 JDK입니다. aarch64이 아닌 JDK를 설치해도 구동은 되지만 효율은 떨어질 것 같습니다. (참고로 IntelliJ도 aarch64버전이 있고 맥북 M1인데 IntelliJ aarch64이 아닐 경우 IntelliJ가 매우 느리다고 하니 About IntelliJ IDEA를 통해 확인해 보시기 바랍니다.)

 

Spring 버전을 선택해 줍니다. 저는 자바 11 버전을 사용할 예정이라 Spring 버전 2.7.14를 선택했습니다.

 

Dependencies를 선택해줍니다. 보통 Lombok, MyBatis, JPA, MySQL, Thymeleaf 사용을 위한 라이브러리도 선택하지만 필요할 때마다 추가하려고 여기서는 Spring Web만 선택했습니다.

 

Spring Boot 3.x 실행이 안될 경우
Spring Boot 3.x 버전일 때 다음과 같은 에러와 함께 프로젝트 실행이 안될 수 있습니다.
No matching variant of org.springframework.boot:spring-boot-gradle-plugin:3.1.2 was found. The consumer was configured to find a library for use during runtime, compatible with Java 11, packaged as a jar, and its dependencies declared externally, as well as attribute 'org.gradle.plugin.api-version' with value '8.2.1' but:​

Spring Boot 3.0부터는 Java 17이 필수입니다. Java 17로 변경하거나 Java 11를 쓰고 싶다면 Spring Boot 2.x버전을 사용해야 합니다.

IntelliJ 영어버전이 갑자기 한국어버전으로 바뀌었다면

환경설정 > 플러그인에서 한국어 언어 팩을 해제해 줍니다.

 

 

2. Spring Boot 실행

프로젝트가 생성된 뒤 오른쪽 상단의 초록색 화살표를 클릭해서 실행해 봅니다.

하단 콘솔에 다음과 같이 뜨면 구동이 완료된 것입니다.

브라우저에서 localhost:8080을 확인해 봅니다. index.html이 없고 whitelabel 처리를 안 해주어서 아래와 같이 뜨지만 일단은 두겠습니다. API 서버이기 때문에 추후 Swagger를 추가할 수 있으므로 여기서는 특별히 추가작업은 하지 않겠습니다.