Skip to content

java.lang.NoClassDefFoundError: kotlin/reflect/full/KClasses #2683

@PranavPurwar

Description

@PranavPurwar
  • Gradle: 8.13
  • AGP: 8.13.0
  • Kotlin: 2.3.0-Beta2
  • KSP: 2.3.0
> Task :app:kspDebugKotlin
e: [ksp] java.lang.NoClassDefFoundError: kotlin/reflect/full/KClasses

> Task :app:kspDebugKotlin FAILED
> Task :app:mergeDebugAssets

Caused by: java.lang.NoClassDefFoundError: kotlin/reflect/full/KClasses
	at ksp.org.jetbrains.kotlin.analysis.api.symbols.DebugSymbolRenderer.kaModuleApiSubclasses$lambda$0(DebugSymbolRenderer.kt:451)
	at ksp.org.jetbrains.kotlin.analysis.api.symbols.DebugSymbolRenderer.kaModuleApiSubclasses$lambda$1(DebugSymbolRenderer.kt:448)
	at kotlin.collections.ArraysKt___ArraysJvmKt.sortWith(_ArraysJvm.kt:2198)
	at kotlin.collections.CollectionsKt___CollectionsKt.sortedWith(_Collections.kt:1100)
	at ksp.org.jetbrains.kotlin.analysis.api.symbols.DebugSymbolRenderer.<init>(DebugSymbolRenderer.kt:448)
	at ksp.org.jetbrains.kotlin.analysis.api.symbols.DebugSymbolRenderer.<init>(DebugSymbolRenderer.kt:43)
	at ksp.org.jetbrains.kotlin.analysis.api.fir.utils.ErrorUtilsKt.withSymbolAttachment$lambda$0(errorUtils.kt:18)
	at ksp.org.jetbrains.kotlin.utils.exceptions.ExceptionAttachmentBuilder.withEntry$lambda$0(ExceptionAttachmentBuilder.kt:22)
	at ksp.org.jetbrains.kotlin.utils.exceptions.ExceptionAttachmentBuilder.withEntry(ExceptionAttachmentBuilder.kt:38)
	at ksp.org.jetbrains.kotlin.utils.exceptions.ExceptionAttachmentBuilder.withEntry(ExceptionAttachmentBuilder.kt:18)
	at ksp.org.jetbrains.kotlin.analysis.api.fir.utils.ErrorUtilsKt.withSymbolAttachment(errorUtils.kt:18)
	at ksp.org.jetbrains.kotlin.analysis.api.fir.components.KaFirSymbolRelationProvider.getContainingPsi(KaFirSymbolRelationProvider.kt:285)
	at ksp.org.jetbrains.kotlin.analysis.api.fir.components.KaFirSymbolRelationProvider.getContainingDeclarationByPsi(KaFirSymbolRelationProvider.kt:195)
	at ksp.org.jetbrains.kotlin.analysis.api.fir.components.KaFirSymbolRelationProvider.getContainingDeclaration(KaFirSymbolRelationProvider.kt:142)
	at ksp.org.jetbrains.kotlin.analysis.api.fir.components.KaFirSymbolRelationProvider.getContainingSymbol(KaFirSymbolRelationProvider.kt:71)
	at ksp.org.jetbrains.kotlin.analysis.api.impl.base.KaBaseSession.getContainingSymbol(KaBaseSession.kt)
	at com.google.devtools.ksp.impl.symbol.kotlin.AbstractKSDeclarationImpl$parent$2.invoke(AbstractKSDeclarationImpl.kt:110)
	at com.google.devtools.ksp.impl.symbol.kotlin.AbstractKSDeclarationImpl$parent$2.invoke(AbstractKSDeclarationImpl.kt:108)
	at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:86)
	at com.google.devtools.ksp.impl.symbol.kotlin.AbstractKSDeclarationImpl.getParent(AbstractKSDeclarationImpl.kt:108)
	at com.google.devtools.ksp.impl.symbol.kotlin.AbstractKSDeclarationImpl$parentDeclaration$2.invoke(AbstractKSDeclarationImpl.kt:105)
	at com.google.devtools.ksp.impl.symbol.kotlin.AbstractKSDeclarationImpl$parentDeclaration$2.invoke(AbstractKSDeclarationImpl.kt:104)
	at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:86)
	at com.google.devtools.ksp.impl.symbol.kotlin.AbstractKSDeclarationImpl.getParentDeclaration(AbstractKSDeclarationImpl.kt:104)
	at com.google.devtools.ksp.impl.symbol.kotlin.KSPropertyDeclarationJavaImpl$qualifiedName$2.invoke(KSPropertyDeclarationJavaImpl.kt:55)
	at com.google.devtools.ksp.impl.symbol.kotlin.KSPropertyDeclarationJavaImpl$qualifiedName$2.invoke(KSPropertyDeclarationJavaImpl.kt:54)
	at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:86)
	at com.google.devtools.ksp.impl.symbol.kotlin.KSPropertyDeclarationJavaImpl.getQualifiedName(KSPropertyDeclarationJavaImpl.kt:54)
	at ksp.com.google.devtools.ksp.common.SymbolCollector.visitDeclaration(IncrementalContextBase.kt:39)
	at ksp.com.google.devtools.ksp.common.SymbolCollector.visitDeclaration(IncrementalContextBase.kt:33)
	at com.google.devtools.ksp.visitor.KSDefaultVisitor.visitPropertyDeclaration(KSDefaultVisitor.kt:53)
	at com.google.devtools.ksp.impl.symbol.kotlin.KSPropertyDeclarationJavaImpl.accept(KSPropertyDeclarationJavaImpl.kt:65)
	at ksp.com.google.devtools.ksp.common.SymbolCollector.visitDeclarationContainer(IncrementalContextBase.kt:53)
	at ksp.com.google.devtools.ksp.common.SymbolCollector.visitDeclarationContainer(IncrementalContextBase.kt:33)
	at com.google.devtools.ksp.visitor.KSDefaultVisitor.visitClassDeclaration(KSDefaultVisitor.kt:80)
	at com.google.devtools.ksp.impl.symbol.kotlin.KSClassDeclarationImpl.accept(KSClassDeclarationImpl.kt:179)
	at ksp.com.google.devtools.ksp.common.SymbolCollector.visitDeclarationContainer(IncrementalContextBase.kt:53)
	at ksp.com.google.devtools.ksp.common.SymbolCollector.visitDeclarationContainer(IncrementalContextBase.kt:33)
	at com.google.devtools.ksp.visitor.KSDefaultVisitor.visitFile(KSDefaultVisitor.kt:32)
	at com.google.devtools.ksp.impl.symbol.kotlin.KSFileJavaImpl.accept(KSFileJavaImpl.kt:63)
	at ksp.com.google.devtools.ksp.common.IncrementalContextBase.collectDefinedSymbols(IncrementalContextBase.kt:108)
	at ksp.com.google.devtools.ksp.common.IncrementalContextBase.access$collectDefinedSymbols(IncrementalContextBase.kt:58)
	at ksp.com.google.devtools.ksp.common.IncrementalContextBase$calcDirtyFiles$1.invoke(IncrementalContextBase.kt:215)
	at ksp.com.google.devtools.ksp.common.IncrementalContextBase$calcDirtyFiles$1.invoke(IncrementalContextBase.kt:209)
	at ksp.com.google.devtools.ksp.common.IncrementalContextBase.closeFilesOnException(IncrementalContextBase.kt:400)
	at ksp.com.google.devtools.ksp.common.IncrementalContextBase.calcDirtyFiles(IncrementalContextBase.kt:209)
	at com.google.devtools.ksp.impl.KotlinSymbolProcessing.execute(KotlinSymbolProcessing.kt:508)
	at com.google.devtools.ksp.impl.KSPLoader$Companion.loadAndRunKSP(KSPLoader.kt:37)
	at com.google.devtools.ksp.impl.KSPLoader.loadAndRunKSP(KSPLoader.kt)
	at jdk.internal.reflect.GeneratedMethodAccessor22594.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at com.google.devtools.ksp.gradle.KspAAWorkerAction.execute(KspAATask.kt:650)
	at org.gradle.workers.internal.DefaultWorkerServer.execute(DefaultWorkerServer.java:63)
	at org.gradle.workers.internal.NoIsolationWorkerFactory$1$1.create(NoIsolationWorkerFactory.java:66)
	at org.gradle.workers.internal.NoIsolationWorkerFactory$1$1.create(NoIsolationWorkerFactory.java:62)
	at org.gradle.internal.classloader.ClassLoaderUtils.executeInClassloader(ClassLoaderUtils.java:100)
	at org.gradle.workers.internal.NoIsolationWorkerFactory$1.lambda$execute$0(NoIsolationWorkerFactory.java:62)
	at org.gradle.workers.internal.AbstractWorker$1.call(AbstractWorker.java:44)
	at org.gradle.workers.internal.AbstractWorker$1.call(AbstractWorker.java:41)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:210)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:205)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:67)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:60)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:167)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:60)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:54)
	at org.gradle.workers.internal.AbstractWorker.executeWrappedInBuildOperation(AbstractWorker.java:41)
	at org.gradle.workers.internal.NoIsolationWorkerFactory$1.execute(NoIsolationWorkerFactory.java:59)
	at org.gradle.workers.internal.DefaultWorkerExecutor.lambda$submitWork$0(DefaultWorkerExecutor.java:174)
	at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.runExecution(DefaultConditionalExecutionQueue.java:194)
	at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.access$700(DefaultConditionalExecutionQueue.java:127)
	at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner$1.run(DefaultConditionalExecutionQueue.java:169)
	at org.gradle.internal.Factories$1.create(Factories.java:31)
	at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:263)
	at org.gradle.internal.work.DefaultWorkerLeaseService.runAsWorkerThread(DefaultWorkerLeaseService.java:127)
	at org.gradle.internal.work.DefaultWorkerLeaseService.runAsWorkerThread(DefaultWorkerLeaseService.java:132)
	at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.runBatch(DefaultConditionalExecutionQueue.java:164)
	at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.run(DefaultConditionalExecutionQueue.java:133)
	... 2 more
Caused by: java.lang.ClassNotFoundException: kotlin.reflect.full.KClasses
	... 80 more

Tried adding kotlin reflect to both ksp classpath and normal app dependencies, but didn't work either.

implementation(kotlin("reflect"))
ksp(project("reflect")

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingcoreIssues related to the core implementation of KSP API.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions