Binary Journey

[Java][Springboot] (4) Spring 프로젝트 생성하기, VSCode Spring Initializer, 삽질의 연속 본문

Java | Spring

[Java][Springboot] (4) Spring 프로젝트 생성하기, VSCode Spring Initializer, 삽질의 연속

binaryJournalist 2020. 11. 26. 21:08
반응형

 

 

같은 내용인데 방법이 달라 벌써 4번째 글을 쓴다.

 

Gradle 로도 할까말까 고민 중

 

 

VSCode 에서 ctrl + shift + P 를 누르면 검색칸이 뜨는데

 

거기에다 Spring이라고 타이핑하면

 

 

type Spring

 

다음과 같이 뜬다.

 

나는 Maven이 더 익숙하니까 Create Maven Project로 해보겠다.

 

내 개발 환경 및 버전은 다음과 같다.

 

1. 플랫폼, OS: Windows 10 64bit

2. JDK: OpenJDK - AdoptOpenJDK 14

3. maven: apache-maven-3.6.3

 

 

 

Maven Project를 선택하면 Spring Boot version을 선택하라고 뜬다.

 

뭐가 좋을지 검색해본다.

 

 

googling

 

 

 

여기저기 돌아다니다보니 Spring Boot 2.2.4 RELEASE 기준으로  Java 8이 필요하다고 한다.

 

나는 jdk 14니까 괜춘괜춘

 

 

jaxenter.com/spring-boot-2-2-6-170386.html

 

Spring Boot 2.2.6 adds support for Java 14 - JAXenter

Take a step forward and upgrade Spring Boot to 2.2.6. The new update includes 53 bug fixes, some new enhancements and features and Java 14 support.

jaxenter.com

 

이 글 보니까 Spring Boot 2.2.6 에 Java 14가 지원된다고 한다. 

 

 

점점 뭘 써야 할지 헷갈리기 시작했다.

 

 

여전히 버전을 고르지 못한 가운데

 

VSCode 에 java home 경로 설정이 필요하다고 한다.

 

 

시스템 변수에 되어있음 되는 거 아닌가? 싶지만

 

 

혹시 모르니 설정해본다.

 

 

 

[File] - [Preferences] - [Settings] 를 클릭한다.

 

 

검색칸에 jdk 를 친 후 나타나는 항목에서 Java: Home 의  Edit in settings.json 라고 밑줄 쳐진 부분을 클릭한다

 

Edit in settings.json

 

 

자동으로 커서가 잡힌 부분에 환경 변수에서 설정해놓은 JAVA_HOME 주소를 복붙하면 된다.

 

 

java home

 

 

 

대부분 2.2.x 버전이 많아서

 

나는 2.2.12 버전을 사용하기로 하였다.

 

spring boot version

 

 

버전을 체크하고 나면 언어를 선택하라고 나온다

 

java!

 

 

 

Kotlin으로도 언젠간 해봐야지

 

 

 

input group id

 

 

group id를 설정하라고 나오는데 찾아보니 group id는 자신의 프로젝트를 식별해주는 고유 아이디라고 한다.

 

 

4번째 글만에 이걸 알다니....!

 

 

더 찾아보니 인터넷 주소 뒤집은 형태로 보라고 

 

 

 

group id 를 지정해주고 나니 arifact id 를 지정해주라고 한다.

 

 

 

input artifact id

 

 

artifact id는 버전 정보를 생략한 이름이라고 하는데 보통 프로젝트 id랑 동일하게 작성한다고 한다.

 

 

모르겠다.

 

 

 

개발 시작하면서 제일 어려운 게 작명이다.

 

 

뭐라 짓지

 

 

내 블로그 이름은 binary journey 인데 artifact id 로 하기엔 너무 긴 것 같다.

 

 

최근에 cruella 라는 닉네임도 생겼는데 그걸 쓰기엔 조금 그런데

 

 

일단 그냥 지어보겠다.

 

 

 

 

 

작명이 끝나면 war와 jar 중에 packaging type을 정하라고 나온다.

 

 

 

jar war

 

 

나는 일단 war로 하겠다.

 

 

 

java version도 체크하라고 나오는데

 

14가 나오는 걸 보니 앞서 버전 선택을 나름 잘찍었네

 

 

java version

 

 

 

이제 거의 마지막인 것 같은데

 

dependencies 를 선택하라고 나온다.

 

 

 

select dependencies

 

 

 

(3) 편에서 했던 것보다 훨씬 친절하다.

 

그땐 작명만 하고 달랑 pom.xml만 생성됐던 것 같은데

 

 

 

 

VSCode로 backend setting 어렵다고 생각했는데 편견이었다.

 

selected dependencies

 

 

나는 일단 이렇게 선택했다

 

 

enter를 누르면 작업할 폴더를 지정해주라는 창이 뜬다.

 

 

generate into this folder

 

 

 

완료된 모습!

 

maven project

 

 

 

 

 

Application run 했는데 다음과 같은 오류가 떴다면

 

 

 

Exception in thread "main" java.lang.Error: Unresolved compilation problem: SpringApplication cannot be resolved

 

 

일단 vscode를 끄고

 

.m2/repository/org/springframework/boot

 

내 모든 폴더를 지운 후 다시 vscode를 실행하면

 

MAVEN 항목이 왼쪽에 생길 것이다.

 

MAVEN

 

 

 

 

Could not find or load main class org.apache.maven.wrapper.MavenWrapperMain

 

이라는 오류가 나며 또 실행이 안된다면

 

 

 

mvn -N io.takari:maven:wrapper

 

이걸 terminal에 쳐보자

 

 

mvn wrapper

 

 

1.(3) 편에서 본 것 같지 않은가?

 

 

 

application run

 

 

그러고 나면 실행은 되는데...!

 

 

 

다시 오류

 

 

application failed to start

 

 

보아하니 database 설정을 해줘야 하는 것 같다.

 

 

이건 다음편에서 하겠다!

 

 

Spring project 생성은 이만 마치고 오늘 만든 project 로 쭉 이어나가 보겠다.

반응형