작성
·
293
0
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.
1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)
[질문 내용]
java.lang.IllegalStateException: Could not initialize plugin: interface org.mockito.plugins.MockMaker (alternate: null)
at org.mockito.internal.configuration.plugins.PluginLoader$1.invoke(PluginLoader.java:85)
at jdk.proxy2/jdk.proxy2.$Proxy72.getHandler(Unknown Source)
at org.mockito.internal.util.MockUtil.getMockHandlerOrNull(MockUtil.java:158)
at org.mockito.internal.util.MockUtil.isMock(MockUtil.java:147)
at org.mockito.internal.util.DefaultMockingDetails.isMock(DefaultMockingDetails.java:32)
at org.springframework.boot.test.mock.mockito.MockReset.get(MockReset.java:106)
at org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener.resetMocks(ResetMocksTestExecutionListener.java:85)
at org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener.resetMocks(ResetMocksTestExecutionListener.java:73)
at org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener.beforeTestMethod(ResetMocksTestExecutionListener.java:60)
at org.springframework.test.context.TestContextManager.beforeTestMethod(TestContextManager.java:320)
at org.springframework.test.context.junit.jupiter.SpringExtension.beforeEach(SpringExtension.java:240)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
Suppressed: java.lang.IllegalStateException: Could not initialize plugin: interface org.mockito.plugins.MockMaker (alternate: null)
at org.mockito.internal.configuration.plugins.PluginLoader$1.invoke(PluginLoader.java:85)
at jdk.proxy2/jdk.proxy2.$Proxy72.getHandler(Unknown Source)
at org.mockito.internal.util.MockUtil.getMockHandlerOrNull(MockUtil.java:158)
at org.mockito.internal.util.MockUtil.isMock(MockUtil.java:147)
at org.mockito.internal.util.DefaultMockingDetails.isMock(DefaultMockingDetails.java:32)
at org.springframework.boot.test.mock.mockito.MockReset.get(MockReset.java:106)
at org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener.resetMocks(ResetMocksTestExecutionListener.java:85)
at org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener.resetMocks(ResetMocksTestExecutionListener.java:73)
at org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener.afterTestMethod(ResetMocksTestExecutionListener.java:67)
at org.springframework.test.context.TestContextManager.afterTestMethod(TestContextManager.java:487)
at org.springframework.test.context.junit.jupiter.SpringExtension.afterEach(SpringExtension.java:278)
... 2 more
Caused by: java.lang.IllegalStateException: Internal problem occurred, please report it. Mockito is unable to load the default implementation of class that is a part of Mockito distribution. Failed to load interface org.mockito.plugins.MockMaker
at org.mockito.internal.configuration.plugins.DefaultMockitoPlugins.create(DefaultMockitoPlugins.java:105)
at org.mockito.internal.configuration.plugins.DefaultMockitoPlugins.getDefaultPlugin(DefaultMockitoPlugins.java:79)
at org.mockito.internal.configuration.plugins.PluginLoader.loadPlugin(PluginLoader.java:75)
at org.mockito.internal.configuration.plugins.PluginLoader.loadPlugin(PluginLoader.java:49)
at org.mockito.internal.configuration.plugins.PluginRegistry.<init>(PluginRegistry.java:29)
at org.mockito.internal.configuration.plugins.Plugins.<clinit>(Plugins.java:26)
at org.mockito.internal.MockitoCore.<clinit>(MockitoCore.java:71)
at org.mockito.Mockito.<clinit>(Mockito.java:1683)
at org.springframework.boot.test.mock.mockito.MockReset.get(MockReset.java:105)
at org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener.resetMocks(ResetMocksTestExecutionListener.java:85)
at org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener.resetMocks(ResetMocksTestExecutionListener.java:73)
at org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener.beforeTestMethod(ResetMocksTestExecutionListener.java:60)
at org.springframework.test.context.TestContextManager.beforeTestMethod(TestContextManager.java:320)
at org.springframework.test.context.junit.jupiter.SpringExtension.beforeEach(SpringExtension.java:240)
... 2 more
Caused by: java.lang.reflect.InvocationTargetException
at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480)
at org.mockito.internal.configuration.plugins.DefaultMockitoPlugins.create(DefaultMockitoPlugins.java:103)
... 15 more
Caused by: org.mockito.exceptions.base.MockitoInitializationException:
Could not initialize inline Byte Buddy mock maker.
It appears as if your JDK does not supply a working agent attachment mechanism.
Java : 17
JVM vendor name : Amazon.com Inc.
JVM vendor version : 17.0.11+9-LTS
JVM name : OpenJDK 64-Bit Server VM
JVM version : 17.0.11+9-LTS
JVM info : mixed mode, sharing
OS name : Windows 11
OS version : 10.0
at org.mockito.internal.creation.bytebuddy.InlineDelegateByteBuddyMockMaker.<init>(InlineDelegateByteBuddyMockMaker.java:260)
at org.mockito.internal.creation.bytebuddy.InlineByteBuddyMockMaker.<init>(InlineByteBuddyMockMaker.java:23)
... 18 more
Caused by: java.lang.IllegalArgumentException
at java.instrument/sun.instrument.InstrumentationImpl.appendToClassLoaderSearch0(Native Method)
at java.instrument/sun.instrument.InstrumentationImpl.appendToBootstrapClassLoaderSearch(InstrumentationImpl.java:220)
at org.mockito.internal.creation.bytebuddy.InlineDelegateByteBuddyMockMaker.<clinit>(InlineDelegateByteBuddyMockMaker.java:177)
... 19 more
Caused by: [CIRCULAR REFERENCE: java.lang.IllegalStateException: Internal problem occurred, please report it. Mockito is unable to load the default implementation of class that is a part of Mockito distribution. Failed to load interface org.mockito.plugins.MockMaker]
답변 2
0
(1) build.gradle 캡쳐화면을 올려주세요.
(2) 다른 JDK21(temurin 또는corretto ) 을 설치하여 확인해보시겠어요?
(3)아래 내용이 적용된 캡쳐화면
해결이 안될 경우 댓글 남겨주세요.
https://drive.google.com/file/d/1t0mtugq-p7JIp84SwBglhnnPcz04dKWn/view
위 링크 프로젝트를 다운받아서 확인해보시겠어요?
변경사항은 다음과 같습니다.
(1) build.gradle 일부 수정
(2) resources/mockito 관련 폴더 제거
(3) 패키지 이름 일부 변경 hello_spring => hellospring
의심되는 부분을 수정하였고 프로젝트를 다운로드 받아서 인텔리제이에서 열 때 build.gradle을 클릭해서 열어주세요.
올리신 프로젝트나 제가 올려드리는 프로젝트나 저의 경우 문제없이 동작합니다.
java.lang.IllegalStateException: Could not initialize plugin: interface org.mockito.plugins.MockMaker (alternate: null)
at org.mockito.internal.configuration.plugins.PluginLoader$1.invoke(PluginLoader.java:84)
at jdk.proxy3/jdk.proxy3.$Proxy76.getHandler(Unknown Source)
at org.mockito.internal.util.MockUtil.getMockHandlerOrNull(MockUtil.java:158)
at org.mockito.internal.util.MockUtil.isMock(MockUtil.java:147)
at org.mockito.internal.util.DefaultMockingDetails.isMock(DefaultMockingDetails.java:32)
여전히 에러입니다
윈도우 환경 문제일까요 어떤걸 바꿔야할지 모르겠네요
인텔리제이를 지우고 다시 설치해보시겠어요?
인텔리제이 유료 버전을 사용하신다면 무료버전도 함께 설치해서 확인해보시겠어요?
코드 문제라기보다는 환경설정문제인데,
인텔리제이를 재설치해도 동일한 상황이시라면
로컬PC(개인PC)에 자바11을 설치하시고, 자바11에서 동작하는 스프링 프로젝트 폴더를 제공해드리도록 하겠습니다.
https://drive.google.com/file/d/1pTA_TArUweASCGOzNIJHO3aCTboC4-O8/view
자바 11 기준 프로젝트 입니다.(스프링부트2.x)
JDK11로 맞춰서 확인해보시겠어요?
드디어 초록불이 뜨네요 딱 제가 한 부분 까지 맞추어서 주신거죠 ?
6월 08, 2024 10:22:00 오후 org.junit.platform.launcher.core.EngineDiscoveryOrchestrator lambda$logTestDescriptorExclusionReasons$7
정보: 0 containers and 3 tests were Method or class mismatch
위 빨간 글씨가 뜨긴하는데
작동합니다 감사합니다
0
안녕하세요, 인프런 AI 인턴입니다.
ckstj8027님의 회원가입 부분 오류와 관렕된 문제는 “Mockito의 MockMaker 플러그인 초기화 오류”로 드러났습니다. 이는 전형적으로 몇 가지 일반적인 문제로 인해 발생할 수 있습니다:
mockito-inline
라이브러리를 종속성에 추가해야 합니다.이 문제를 해결하기 위해, 지식공유자님이 다른 학생의 유사한 질문에 답변한 내용이 도움이 될 수 있습니다. 특히, Java 버전을 변경하거나 Mockito 버전을 업데이트하는 것에 관한 조언이 포함된 경우가 있습니다.
다음은 이와 관련된 유사한 질문에 대한 기존 답변입니다:
스프링 통합테스트 도중 MemberSeviceIntegrationTest 오류에서는 Java 및 Spring Boot 버전의 호환성 문제가 언급되었습니다. 특정 버전의 Java와 Spring Boot의 조합이 문제의 원인일 수 있음을 나타냅니다. 답변에서는 자세한 오류 메시지와 함께 JDK 및 Spring Boot 버전을 확인하고 필요한 경우 업데이트하거나 변경하도록 권장합니다.
테스트 코드 오류 - java.lang.IllegalStateException: Could not initialize plugin: interface org.mockito.plugins.MockMaker (alternate: null)에서는 질문자가 테스트 코드 실행 중 특정 오류에 직면했습니다. 이는 동일한 “Could not initialize plugin: interface org.mockito.plugins.MockMaker” 오류와 관련되어 있으며 Mockito 관련 문제를 나타냅니다.
그러나 직접적으로 ckstj8027님의 문제에 대한 해결책을 제공하는 기록은 찾을 수 없으므로, JDK와 Mockito의 호환성을 검토하고 필요한 경우 해당 라이브러리의 버전을 조정해 보는 것이 좋습니다. 또한, Mockito 공식 문서나 추가적인 스프링 및 Mockito 관련 리소스를 참조하여 해결 방안을 모색하는 것을 추천합니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
혹시 버전이 문제일까요 다들 17 쓰는거같은데 버전을 바꾸면 혹시 cmd 에서 로컬 java -version 과 해당 프로젝트둘다 변경을해야할까요 ? 일단 로컬 버전은 21인데 로컬은 냅둔채로 인텔리제이만 17로 바꿧을경우도 같은 오류로 여전히있었습니다
1project structure 에서 프로젝트 sdk 랑 language level 변경하고
2 project structure 모듈에서도 변경
3 project structure ->> sdk 에서도 jdk 설정
4 file-> setting 에서 gradle jvm 도 설정
5 file-> setting compiler 도 버전 다 17로 다운그레이드 했을 경우입니다
변경을 해도 문제는 똑같습니다