강의

멘토링

커뮤니티

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

무능한아기님의 프로필 이미지
무능한아기

작성한 질문수

입문자를 위한 Spring Boot with Kotlin - 나만의 포트폴리오 사이트 만들기

[실습] 프로젝트 생성

Windows 환경에서 작업중

작성

·

11

0

image.png

안녕하세요, 윈도우 환경에서 작업중입니다.

다름이 아니라 Gradle을 IDEA로 변경하면 Build 시에 Error가 떠서 AI에게 물어보니 Gradle로 변경하라 하여 변경하니 되는데 이렇게 작업해도 상관 없는 부분일까요?

오류메세지:
Kotlin: [Internal Error] java.lang.NoClassDefFoundError: org/jetbrains/kotlin/com/intellij/psi/PsiElement

at org.jetbrains.kotlin.noarg.fir.KtErrorsNoArg.<clinit>(KtErrorsNoArg.kt:32)

at org.jetbrains.kotlin.noarg.fir.FirNoArgExtensionRegistrar.configurePlugin(FirNoArgExtensionRegistrar.kt:15)

at org.jetbrains.kotlin.fir.extensions.FirExtensionRegistrar.configuredExtensionFactories_delegate$lambda$0(FirExtensionRegistrar.kt:294)

at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:86)

at org.jetbrains.kotlin.fir.extensions.FirExtensionRegistrar.getConfiguredExtensionFactories(FirExtensionRegistrar.kt:291)

at org.jetbrains.kotlin.fir.extensions.FirExtensionRegistrar.configure(FirExtensionRegistrar.kt:270)

at org.jetbrains.kotlin.fir.session.FirAbstractSessionFactory.createSharedLibrarySession(FirAbstractSessionFactory.kt:107)

at org.jetbrains.kotlin.fir.session.FirJvmSessionFactory.createSharedLibrarySession(FirJvmSessionFactory.kt:53)

at org.jetbrains.kotlin.cli.pipeline.jvm.JvmFrontendPipelinePhase.prepareJvmSessions$lambda$0(JvmFrontendPipelinePhase.kt:326)

at org.jetbrains.kotlin.cli.common.SessionConstructionUtils.prepareSessions(FirSessionConstructionUtils.kt:324)

at org.jetbrains.kotlin.cli.pipeline.jvm.JvmFrontendPipelinePhase.prepareJvmSessions(JvmFrontendPipelinePhase.kt:322)

at org.jetbrains.kotlin.cli.pipeline.jvm.JvmFrontendPipelinePhase.executePhase(JvmFrontendPipelinePhase.kt:137)

at org.jetbrains.kotlin.cli.pipeline.jvm.JvmFrontendPipelinePhase.executePhase(JvmFrontendPipelinePhase.kt:47)

at org.jetbrains.kotlin.cli.pipeline.PipelinePhase.phaseBody(PipelinePhase.kt:68)

at org.jetbrains.kotlin.cli.pipeline.PipelinePhase.phaseBody(PipelinePhase.kt:58)

at org.jetbrains.kotlin.config.phaser.NamedCompilerPhase.invoke(CompilerPhase.kt:102)

at org.jetbrains.kotlin.backend.common.phaser.CompositePhase.invoke(PhaseBuilders.kt:22)

at org.jetbrains.kotlin.config.phaser.CompilerPhaseKt.invokeToplevel(CompilerPhase.kt:53)

at org.jetbrains.kotlin.cli.pipeline.AbstractCliPipeline.runPhasedPipeline(AbstractCliPipeline.kt:109)

at org.jetbrains.kotlin.cli.pipeline.AbstractCliPipeline.execute(AbstractCliPipeline.kt:68)

at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecutePhased(K2JVMCompiler.kt:79)

at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecutePhased(K2JVMCompiler.kt:45)

at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:90)

at org.jetbrains.kotlin.cli.common.CLICompiler.exec(CLICompiler.kt:352)

at org.jetbrains.kotlin.daemon.CompileServiceImpl.compile(CompileServiceImpl.kt:1617)

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)

at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.base/java.lang.reflect.Method.invoke(Method.java:569)

at java.rmi/sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:360)

at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:200)

at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:197)

at java.base/java.security.AccessController.doPrivileged(AccessController.java:712)

at java.rmi/sun.rmi.transport.Transport.serviceCall(Transport.java:196)

at java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:587)

at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:828)

at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:705)

at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)

at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:704)

at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)

at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)

at java.base/java.lang.Thread.run(Thread.java:840)

Caused by: java.lang.ClassNotFoundException: org.jetbrains.kotlin.com.intellij.psi.PsiElement

at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:445)

at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:592)

at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)

... 42 more

 

답변 1

0

안녕하세요, 인프런 AI 인턴입니다.

무능한아기님, Windows 환경에서 작업하시면서 Gradle 설정 관련 문제를 말씀해주셨네요. 오류 메시지를 보면, Kotlin 플러그인 내의 내부 클래스가 누락되어 발생하는 에러로 보입니다. 이를 해결하기 위해 몇 가지 확인해야 할 사항을 안내드리겠습니다:

  1. Gradle 설정: 오류 없이 작업이 이루어지는 경우, Gradle로 설정을 유지하는 것이 좋습니다. 이는 동일한 빌드 환경을 유지하는 데 도움이 됩니다.

  2. IDEA 최신 버전 확인: 사용하는 IntelliJ IDEA가 최신 버전인지 확인하세요. 최신 버전으로 업데이트하면 다양한 버그가 해결되고, 플러그인 호환성 문제가 줄어들 수 있습니다.

  3. Kotlin 플러그인 업데이트: IntelliJ IDEA의 Kotlin 플러그인이 최신 버전인지 확인합니다. 만약 오래된 버전이라면 최신 버전으로 업데이트해 보세요.

  4. 빌드 캐시 및 강제 업데이트:

    • Gradle 캐시를 삭제하고 gradle build --refresh-dependencies 명령을 통해 강제 디펜던시 갱신을 시도해보세요.
    • gradle clean 명령을 통해 빌드 캐시를 전략적으로 삭제 후 다시 빌드해도 도움이 될 수 있습니다.
  5. 빌드 스크립트 검토: build.gradle 파일이나 settings.gradle 파일의 설정을 검토하여 불필요한 종속성이나 충돌할 수 있는 플러그인이 없는지 점검합니다.

  6. Kotlin 설정: 프로젝트 설정에서 Kotlin과 관련된 설정을 확인하여 필수 설정이 빠져있거나 잘못된 부분이 없는지 재차 확인합니다.

유사한 문제를 경험한 다른 강의 수강생들의 Q&A를 참고하시면 도움이 되실 수 있습니다:

문제를 해결하는 과정에서 도움이 필요하시다면 추가 질문을 남겨주세요. 곧 지식공유자께서도 더 구체적이고 유용한 답변을 드릴 것입니다.

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

무능한아기님의 프로필 이미지
무능한아기

작성한 질문수

질문하기