관리 메뉴

공부 기록장 💻

[Spring] 프로젝트 환경 설정 & Spring Boot 3.0 이후 Java SDK 버전 차이로 생기는 에러 해결 본문

# Tech Studies/Java Spring • Boot

[Spring] 프로젝트 환경 설정 & Spring Boot 3.0 이후 Java SDK 버전 차이로 생기는 에러 해결

dream_for 2023. 1. 4. 13:14

 

인프런 "스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술"  정리

 

 

 


JAVA SDK 17과 IntelliJ IDEA 설치

 

본격적으로 프로젝트 환경 설정을 하기에 앞서, Java SDK 17과 IntelliJ IDE (Community 무료 버전) 설치를 완료하였다.

 

 

 

 

Spring Boot 프로젝트 초기화 및 생성

 

Spring Boot를 기반으로 스프링 프로젝트를 만들 것이기 때문에, https://start.spring.io/ 에서 만들어보자.

 

필요한 라이브러리를 관리하는 Tool로는 Gradle로 설정하고, Spring Boot 버전은 3.0.1을 선택하였다.

(SNAPSHOT, M1 같은 미정식 버전 제외한 최신 버전)

 

Project Metedata 부분에 Group은 hello, Artifcact는 hello-spring 이라 적어주고, Pacaking은 Jar, Java 는 SDK 17 버전을 선택하였다.

Dependencies로는 Spring Web, Thymeleaf 템플릿 엔진을 검색하여 의존성을 추가해주었다.

 

위와 같이 선택을 모두 마친 후, Generate 하여 프로젝트를 다운로드 받은 후, 해당 압축 폴더를 풀어 IntellJ에서 해당 프로젝트를 open 하자.

 


Spring 프로젝트 디렉터리 구조 살펴보기

 

(spring boot 3.0 이후 버전부터는 JAVA SDK 17 버전을 사용해야 한다. 기존에 JAVA 11버전을 다운받아 java 파일을 실행하고자 했으나 classpath를 확인하지 못하는 에러가 발생하여 build, run 자체를 하지 못했다. 따라서 기존에는 다음과 같은 디렉터리 구조로, HelloSpringApplication.java 파일만 나타났다.)

 

 

(이전에 발생한 오류는 다음과 같았다 : Could not resolve all files for configuration ':classpath'.)

 

 

 

Java 17 버전을 재 다운로드 받아 다시 spring boot 프로젝트를 다운로드 받아 디렉터리를 확인한 결과 class가 정상적으로 다음과 같이 생성된 것을 확인할 수 있었다.)

 

src 폴더 내에 main, test 디렉터리가 나타나고,  resources 파일에는 java 파일을 제외한 나머지 설정 파일들이 모두 들어가게 된다.

 

 

아래 build.gradle 라는 중요한 파일도 있는데, spring boot 에서 제공하는 많은 의존, 설정 파일들을 관리하는 파일이다.

dependencies에서는 thymeleaf, spring-boot-stater-web을 볼 수 있는데 이는 앞서 다운로드 받은 의존성 라이브러리들을 말한다.

 

 

 

Git에는 필요한 소스 코드 파일들만 올라가고, 빌드된 결과물은 업로드되어서는 안 되기 때문에 .gitignore 파일에 git에 추가해서는 안 되는 파일 명들을 작성해주면 된다. 이 또한 마찬가지로 spring boot에서 자동적으로 초기에 제공해주는 파일이다.

 

 

 

 

Gradle 설정 및 Project JDK 설정

 

마지막으로 몇 가지 설정을 더 해보도록 하자.

Gralel의 Build & run 설정을 IntellJ IDEA로 변경하여, Gradle을 거치지 않고 바로 IntellJ에서 Java를 실행하여 실행 시간을 줄이도록 하자.

 

 

 

Project Structure은 JDK 17로 변경해주자.

 

 

 

Spring Boot Application 실행 및 로컬 Web Server 띄우기

 

이제, HelloSpringApplication 을 run 하게 되면 다음과 같이 정상적으로 실행이 된다. (JAVA SDK 버전이 올바르지 않은 경우 java 파일 자체를 bulid하지 못하게 되므로 주의!)

 

 

 

실행 후, localhost:8080 웹 브라우저를 로드하게 되면,

@SpringBootApplication 어노테이션을 인식하며, 스프링 부트에 내장된 Tomcat Web Server을 실행하여 다음과 같은 에러 페이지를 띄우는 것을 확인할 수 있다.

(웹 서버 실행 완료!)

 

728x90
반응형
Comments