인프런 커뮤니티 질문&답변

푸리푸리님의 프로필 이미지
푸리푸리

작성한 질문수

실전! 코틀린과 스프링 부트로 도서관리 애플리케이션 개발하기 (Java 프로젝트 리팩토링)

7강. Junit5으로 Spring Boot 테스트하기

library-app-complete 코드 실행방법

작성

·

450

1

library-app-complete 파일을 실행해보고 싶은데요

LibraryAppApplication.kt 에 intelliJ IDEA 로 들어가면 원래 초록색 세모버튼 재생하는게 잇어야되잖아요 ? 그게 없는데 어떻게 하면 실행해볼 수 있을까요..?

답변 1

0

최태현님의 프로필 이미지
최태현
지식공유자

안녕하세요! kimminji0511님!! 😊

다운로드 받으신 LibraryAppApplication.kt 에 초록색 세모 버튼이 없다는 건 아직 gradle 의존성이 충분히 받아지지 않았다는 뜻일거에요!!

gradle 새로고침도 해보시고, IntelliJ를 종료했다가 다시 시작도 해보시면 되지 않을까 싶습니다!!

image
특히나 프로젝트를 처음 열면 이것저것 다운로드 받아야 하는게 많아 시간이 꽤 걸리더라고요!

 

계속해서 잘 안되신다면, 편하게 댓글 남겨주세요!!!

감사합니다!! 🙇

 

푸리푸리님의 프로필 이미지
푸리푸리
질문자

image

오른쪽에 Gradle 텍스트가 활성화 되지 않아요 ㅠㅠ

컴퓨터도 껏다켜봤는데 안되네요 ㅠㅠㅠㅠ 어떻게해야될까요 ?

푸리푸리님의 프로필 이미지
푸리푸리
질문자

image

푸리푸리님의 프로필 이미지
푸리푸리
질문자

gradle 버튼까지는 생겼는데

Invalid Gradle JDK configuration found. Could not find the required JavaSDK.

Open Gradle Settings

Change JDK location

 

라고 나오는데 어떻게 해야할까요?

최태현님의 프로필 이미지
최태현
지식공유자

안녕하세요!! 허걱!!

Invalid Gradle JDK configuration found. Could not find the required JavaSDK.

에러는 Gradle을 통해 프로젝트를 수행하려 했으나, 설정된 SDK가 없다라는 의미입니다!!

 

그렇다면 혹시 이 부분을 한 번 봐보시겠어요?!

설정 (Preferences) 들어가셔서 Build, Execution, Deployment > Build Tools > Gradle 들어가셨을 때 Gradle JVM이 잘 설정되어 있어야 합니다!!!

이 프로젝트는 JDK 11을 target하고 있어 11버전을 가져오시면 되어요!!!

image

Build and run using / Run tests using도 Gradle로 잘 되어 있는지 확인해보시면 좋을 것 같습니다! 😊

 

아, 만약에 JDK 11버전 자체가 없으시다면, JDK 11 설치를 진행하셔야 할겁니다!! 인터넷에서 그 방법을 찾아보셔도 좋고, https://www.inflearn.com/course/%EC%9E%90%EB%B0%94-%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8-%EC%84%9C%EB%B2%84%EA%B0%9C%EB%B0%9C-%EC%98%AC%EC%9D%B8%EC%9B%90/unit/143150 와 비슷하게 JDK 11을 설치해보셔도 좋아요!!

 

감사합니다!! 🙏

푸리푸리님의 프로필 이미지
푸리푸리
질문자

안녕하세요 JDK가 없어서 corretto-11 버전으로 했는데 실행이 되긴하는데요,

이걸로 사용해도 되나요 ? 아.. 다시 보니까 기능이 동작을 안하네요 ㅠㅠ !

올려주신 사진 상에는 project SDK로 되어 있는데 JDK 11로 하는게 맞나요~?

이런 여러가지 버전이 어떤 차이가 있는건가요 ? 항상 맞는거로만 실행이 되나요?

openjdk ?? 이거를 깔아서 하면 될까요?

저는 해당 영상은 수강권한이 없네요 코틀린 수강자라

제가 맥북을 사용하는데 현재 openjdk 18.0.2 가 깔려잇거든요 ? 그럼 이걸 지우고 11로 내려야하는건가요~?

corretto-11 버전으로 했을때 사용자 등록은 되는데,

책 등록을 하면 아래와 같은 에러가 납니다

2023-02-01 17:48:21.339 WARN 459 --- [nio-8080-exec-6] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Instantiation of [simple type, class com.group.libraryapp.dto.book.request.BookRequest] value failed for JSON property type due to missing (therefore NULL) value for creator parameter type which is a non-nullable type; nested exception is com.fasterxml.jackson.module.kotlin.MissingKotlinParameterException: Instantiation of [simple type, class com.group.libraryapp.dto.book.request.BookRequest] value failed for JSON property type due to missing (therefore NULL) value for creator parameter type which is a non-nullable type<EOL> at [Source: (org.springframework.util.StreamUtils$NonClosingInputStream); line: 1, column: 20] (through reference chain: com.group.libraryapp.dto.book.request.BookRequest["type"])]

 

 

최태현님의 프로필 이미지
최태현
지식공유자

안녕하세요 푸리푸리님!! 😊

하나씩 답변 드려보겠습니다 ㅎㅎㅎㅎ

 

안녕하세요 JDK가 없어서 corretto-11 버전으로 했는데 실행이 되긴하는데요,
이걸로 사용해도 되나요 ? 아.. 다시 보니까 기능이 동작을 안하네요 ㅠㅠ !
올려주신 사진 상에는 project SDK로 되어 있는데 JDK 11로 하는게 맞나요~?

넵넵!! 제가 올려드린 사진에 적혀 있는 이름은 project SDK이지만, corretto-11이건, Open JDK 11이건, 모두 동일한 JDK11입니다!!! 👍

때문에 JDK 11로만 맞춰주시면, 어떤 것을 사용하셔도 문제 없습니다 ㅎㅎㅎ 지금 사용하시는 corretto-11 을 쓰셔도 괜찮아요! 특정 기능이 동작하지 않는 것처럼 보이는 이유는 아래에서 설명드려보겠습니다!!

 

이런 여러가지 버전이 어떤 차이가 있는건가요 ? 항상 맞는거로만 실행이 되나요?
openjdk ?? 이거를 깔아서 하면 될까요?

말씀해주신 버전은 2가지로 구분해 생각해보아야 합니다!! 첫 번째로는, 숫자로 이루어진 버전 (세대)인데요 예를 들어 JDK8 / JDK11 / JDK17 등이 그 예입니다.

두 번째로는, 어떤 회사에서 만든 JDK인지 나눌 수 있습니다. 똑같은 JDK8이더라도 Oracle JDK인지 Open JDK인지 아니면 Amazon에서 만든 JDK인지 종류가 다를 수 있습니다.

대부분의 경우 (거의 99.9% 입니다!) 숫자 버전이 일치하면 프로그램을 정상적으로 수행하는데 문제가 없습니다 ㅎㅎㅎ 때문에 굳이 OpenJDK를 설치하지 않고 현재 사용중이신 corretto-11 을 쓰셔도 괜찮습니다!

혹시나 JDK 버전에 대해서 조금 더 궁금하시다면, https://youtu.be/f0cAmTYo4tQ?t=404 를 참고해보셔도 좋을 것 같습니다.

 

저는 해당 영상은 수강권한이 없네요 코틀린 수강자라

으앗!! 해당 영상을 무료로 열어둔지 알았습니다!! 😭 죄송합니다!! 해당 영상 무료로 오픈해두었습니다! 이제 수강하지 않으시더라도 그 영상은 보실 수 있을거에요!!

 

제가 맥북을 사용하는데 현재 openjdk 18.0.2 가 깔려잇거든요 ? 그럼 이걸 지우고 11로 내려야하는건가요~?

아니요!! 여러 JDK 버전이 설치되어 있다 하더라도 말씀드렸던 설정 부분에서 JDK 11을 선택해주시면, IntelliJ를 통해 프로그램을 동작시킬 때 JDK 11로 동작하게 됩니다!

실제로 여러 프로젝트에 참여하는 경우 어떤 프로젝트에서는 JDK17을 사용하기도, 어떤 프로젝트에서는 JDK11을 사용하기도 합니다! ㅎㅎㅎㅎ

그리고 IntelliJ에서 JDK 버전을 설정해줄 수 있는 다양한 곳들이 있는데 제 블로그는 아니지만, https://dev-emmababy.tistory.com/139 를 참고해보셔도 좋을 것 같습니다!!

 

책 등록을 하면 아래와 같은 에러가 납니다

혹시 접속하신 주소가 http://localhost:8080/v1/index.html 이신가요?!!

완성 버전의 경우 Section3 에서 기존에 있던 API를 변경하기 때문에 v1 페이지와는 호환되지 않는 기능이 생깁니다!!

완성 버전을 제대로 사용해보고 싶으시다면, http://localhost:8080/v2/index.html (v1이 아니라 v2 입니다!!) 로 들어가보시면 됩니다!! 😊😊

 

또 궁금한 점 있으시면 편하게 남겨주세요!! 가능한 빠르게 답변 드릴 수 있도록 노력하겠습니다! 오늘도 행복하세요!!

감사합니다!!! 🙏🙇

푸리푸리님의 프로필 이미지
푸리푸리
질문자

헉 ㅠㅠ 눈물날거가태여 ...

어디 물어볼때도 없고 검색해도 잘 모르겠는데 이렇게 친절하게 알려주시니 너무 감사합니다 ㅠㅠㅠㅠㅠㅠㅠ !!

v2로 접속해보니 되네요 ~~~ 감사합니다!!! 🙇🙇🙇🙇

최태현님의 프로필 이미지
최태현
지식공유자

우와~~~ 성공하셨다니 다행입니다!!!! ☺️☺️ 감사합니다~!! 🙇🙇

푸리푸리님의 프로필 이미지
푸리푸리

작성한 질문수

질문하기