inflearn logo
강의

Course

Instructor

Real-world! Developing a library management application with Kotlin and Spring Boot (Refactoring a Java project)

Lesson 12. Changing the domain layer to Kotlin - Book.java

4:28 build.gradle 수정 시 kotlin-reflect관련 implementation 추가 해야할까요?

309

작성자 없음

0 asked

0

build.gradle에 plugin만 추가하니 오류나고 아래 내용이 추가되니 오류가 사라지고 정상 동작하였습니다.

implementation "org.jetbrains.kotlin:kotlin-reflect"

정확한 원인은 모르겠는데 contextLoads할때 부터 error가 나서 kotlin으로 만든 Book을 Entity로 인식하지 못하는 것 같았습니다. 이렇게 해결하는게 맞는건지 궁금합니다. windows10 / java11 / intellij 사용중입니다!

 

 [오류원문]

Failed to resolve parameter [com.group.libraryapp.service.book.BookService bookService] in constructor [public com.group.libraryapp.service.book.BookServiceTest(com.group.libraryapp.service.book.BookService,com.group.libraryapp.domain.book.BookRepository,com.group.libraryapp.domain.user.UserRepository,com.group.libraryapp.domain.user.loanhistory.UserLoanHistoryRepository)]: Failed to load ApplicationContext
org.junit.jupiter.api.extension.ParameterResolutionException: Failed to resolve parameter [com.group.libraryapp.service.book.BookService bookService] in constructor [public com.group.libraryapp.service.book.BookServiceTest(com.group.libraryapp.service.book.BookService,com.group.libraryapp.domain.book.BookRepository,com.group.libraryapp.domain.user.UserRepository,com.group.libraryapp.domain.user.loanhistory.UserLoanHistoryRepository)]: Failed to load ApplicationContext
	at app//org.junit.jupiter.engine.execution.ExecutableInvoker.resolveParameter(ExecutableInvoker.java:239)
	at app//org.junit.jupiter.engine.execution.ExecutableInvoker.resolveParameters(ExecutableInvoker.java:183)
	at app//org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:74)
	at app//org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeTestClassConstructor(ClassBasedTestDescriptor.java:355)
	at app//org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.instantiateTestClass(ClassBasedTestDescriptor.java:302)
	at app//org.junit.jupiter.engine.descriptor.ClassTestDescriptor.instantiateTestClass(ClassTestDescriptor.java:79)
	at app//org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.instantiateAndPostProcessTestInstance(ClassBasedTestDescriptor.java:280)
	at app//org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$4(ClassBasedTestDescriptor.java:272)
	at java.base@11.0.24/java.util.Optional.orElseGet(Optional.java:369)
	at app//org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$5(ClassBasedTestDescriptor.java:271)
	at app//org.junit.jupiter.engine.execution.TestInstancesProvider.getTestInstances(TestInstancesProvider.java:31)
	at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$prepare$0(TestMethodTestDescriptor.java:102)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:101)
	at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:66)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$prepare$2(NodeTestTask.java:123)
	at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.prepare(NodeTestTask.java:123)
	at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:90)
이하 생략..

java spring kotlin spring-boot 리팩토링

Answer 3

1

communityai8509

안녕하세요, 인프런 AI 인턴입니다. 이동기님.

강의에서 발생한 kotlin-reflect 의존성 문제와 관련해서 몇 가지 유사한 질문 및 답변 링크를 제공해드립니다.

  1. Book.java Kotlin으로 변경 후 오류 문의

    • 이 질문에서는 Kotlin 코드로 변경 후, JPA Entity 인식 문제에 대해 다룹니다. 비슷한 상황에 놓이셨을 때 참고가 될 수 있습니다.
  2. assertThat import 문제

    • 이 질문에서는 Gradle의 의존성 문제와 관련하여 다양한 접근 방법을 다룹니다. kotlin-reflect 문제를 해결하기 위해 어떤 설정을 추가해야 하는지 참고하실 수 있습니다.
  3. 스프링 부트 gradle 빌드 오류

    • Gradle 설정 및 빌드 오류 관련 질문입니다. 의존성 추가 시 발생할 수 있는 일반적인 문제들과 그 해결 방법에 대한 조언을 얻으실 수 있습니다.

위 링크들을 통해 kotlin-reflect 의존성을 추가하는 과정과 JPA Entity 인식 문제를 해결하는 방법을 참고해보세요. 도움되시길 바랍니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

0

lannstark

안녕하세요!! 🙂 아이고 아닙니다~~ 강의 보시다가 막 편하게 질문 주셔도 괜찮아요!!

kotlin-reflect가 없으면 @Entity 를 정상적으로 사용하지 못하는 것 맞습니다. 감사합니다~ 🙇

0

leedonggi

아니?!! kotlin-reflect 추가하는게 9:19초에 나오네요; 죄송합니다.. 글 삭제 하려했느데 모르고 작성자를 지워버려서 삭제도 안되네요 다시 한번 죄송합니다..

1

lannstark

안녕하세요!! 🙂 아이고 아닙니다~~ 강의 보시다가 막 편하게 질문 주셔도 괜찮아요!!

kotlin-reflect가 없으면 @Entity 를 정상적으로 사용하지 못하는 것 맞습니다. 감사합니다~ 🙇

안녕하세요 혹시 프론트 코드 제공받을 수 있을까요?

0

67

2

실행이 안되네요

0

64

2

프론트 영역 보는법

0

51

2

companion object

0

75

2

Custom 레프직토리 형식

0

56

2

Querydsl 도입

0

67

2

fetch join DISTINCT 중복제거

1

82

2

표준 예외와 커스텀 예외 사용 전략 질문

0

84

3

이 질문이 왜 없는지 이해가 안 되지만 문제 인식 및 해결 방법 남깁니다.

1

177

2

테스트를 위한 코드

1

105

2

프로젝트 실행 에러

0

150

2

PDF 문서에 오타가 있어서 알려드립니다.

1

102

1

enum질문

1

86

1

테스트 후 AfterEach 함수에서 나오는 쿼리

0

136

2

테스트 fixture

1

209

2

./gradlew test 실행시 인식할수 없다고 뜹니다.

0

140

1

test 코드 실행시 경고가 발생합니다.

0

140

1

13강 User Kotlin 변환중

2

169

3

'추가 - 코프링과 플러그인' 강의 7:46 allopen 관련 질문

2

173

1

-

0

141

2

junit import 불가

0

268

3

테스트 코드와 관련하여 질문이 있습니다.

1

215

1

hibernate가 select를 두번 하는 이유

0

236

1

intelliJ 최신버전과 kotlin 1.6버전 충돌. 빌드 오류

1

999

2