kotlin - IntelliJ 中的 Kotlin 1.4.20 gradle kts 问题
问题描述
我的 build.gradle.kts 一直面临着问题,自从我迁移到 kotlin 1.4.20 以来,整个事情基本上都是红色的。此外,gradle 版本是 6.7.1。
任何人都面临类似的问题,还是只有我一个人?任何解决方法?
当通过 cli 运行时,构建工作得非常好,但在 IntelliJ 中,整个事情都是红色的
IntelliJ 中的异常
java.lang.IllegalArgumentException: declarationDescriptor is null for constructor = TypeVariable(K) with class org.jetbrains.kotlin.resolve.calls.inference.model.TypeVariableTypeConstructor
at org.jetbrains.kotlin.js.descriptorUtils.DescriptorUtilsKt.getJetTypeFqName(descriptorUtils.kt:23)
at org.jetbrains.kotlin.js.descriptorUtils.DescriptorUtilsKt$getJetTypeFqName$typeArgumentsAsString$joinedTypeArguments$1.fun(descriptorUtils.kt:32)
at org.jetbrains.kotlin.js.descriptorUtils.DescriptorUtilsKt$getJetTypeFqName$typeArgumentsAsString$joinedTypeArguments$1.fun(descriptorUtils.kt)
at com.intellij.openapi.util.text.StringUtil.join(StringUtil.java:1337)
at com.intellij.openapi.util.text.StringUtil.join(StringUtil.java:1327)
at com.intellij.openapi.util.text.StringUtil.join(StringUtil.java:1307)
at org.jetbrains.kotlin.js.descriptorUtils.DescriptorUtilsKt.getJetTypeFqName(descriptorUtils.kt:32)
at org.jetbrains.hdfsplugin.highlight.kotlin.KotlinSignatureCondition.getReturnTypeFqn(KotlinSignatureCondition.kt:18)
at org.jetbrains.hdfsplugin.highlight.kotlin.KotlinSignatureCondition.getReturnTypeFqn(KotlinSignatureCondition.kt:8)
at org.jetbrains.hdfsplugin.highlight.SignatureCondition.checkCondition(SignatureCondition.kt:7)
at org.jetbrains.hdfsplugin.highlight.inspection.invalidFormat.InvalidFormatInspection.visitCall(InvalidFormatInspection.kt:13)
at org.jetbrains.hdfsplugin.highlight.inspection.invalidFormat.KotlinHdfsInvalidFormatInspection$buildVisitor$1.visitCallExpression(KotlinHdfsInvalidFormatInspection.kt:15)
at org.jetbrains.kotlin.psi.KtVisitorVoid.visitCallExpression(KtVisitorVoid.java:803)
at org.jetbrains.kotlin.psi.KtVisitorVoid.visitCallExpression(KtVisitorVoid.java:21)
at org.jetbrains.kotlin.psi.KtCallExpression.accept(KtCallExpression.java:35)
at org.jetbrains.kotlin.psi.KtElementImpl.accept(KtElementImpl.java:51)
at com.intellij.codeInspection.InspectionEngine.acceptElements(InspectionEngine.java:65)
at com.intellij.codeInspection.InspectionEngine.createVisitorAndAcceptElements(InspectionEngine.java:56)
at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.runToolOnElements(LocalInspectionsPass.java:296)
at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.lambda$visitPriorityElementsAndInit$3(LocalInspectionsPass.java:265)
at com.intellij.util.AstLoadingFilter.forceAllowTreeLoading(AstLoadingFilter.java:155)
at com.intellij.util.AstLoadingFilter.forceAllowTreeLoading(AstLoadingFilter.java:147)
at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.lambda$visitPriorityElementsAndInit$4(LocalInspectionsPass.java:264)
at com.intellij.util.AstLoadingFilter.disallowTreeLoading(AstLoadingFilter.java:126)
at com.intellij.util.AstLoadingFilter.disallowTreeLoading(AstLoadingFilter.java:115)
at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.lambda$visitPriorityElementsAndInit$5(LocalInspectionsPass.java:264)
at com.intellij.concurrency.ApplierCompleter.execAndForkSubTasks(ApplierCompleter.java:149)
at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1110)
at com.intellij.concurrency.ApplierCompleter.lambda$wrapInReadActionAndIndicator$1(ApplierCompleter.java:105)
at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:629)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:581)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:60)
at com.intellij.concurrency.ApplierCompleter.wrapInReadActionAndIndicator(ApplierCompleter.java:117)
at com.intellij.concurrency.ApplierCompleter.lambda$compute$0(ApplierCompleter.java:96)
at com.intellij.openapi.application.impl.ReadMostlyRWLock.executeByImpatientReader(ReadMostlyRWLock.java:170)
at com.intellij.openapi.application.impl.ApplicationImpl.executeByImpatientReader(ApplicationImpl.java:182)
at com.intellij.concurrency.ApplierCompleter.compute(ApplierCompleter.java:96)
at java.base/java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:746)
at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:
解决方案
尝试删除 IDEA 缓存文件夹:
~/Library/Caches/JetBrains/<product><version> on macOS
~/.cache/JetBrains/<product><version> on Linux
%LOCALAPPDATA%\JetBrains\<product><version> on Windows
如果没有帮助,请在Youtrack中提出问题。
推荐阅读
- c# - 使用 DI 在 Startup.cs 中访问 NPGSQL
- shell - 在 shell 脚本中使用 "set --" 会导致 "bad number"
- regex - 我无法从未使用的运算符中删除零
- python - 在 Python 中使用时间戳重命名将文件移动到子目录
- java - jdk版本如何决定——Oracle发布周期更短
- groovy - 在groovy中映射,如何从键中获取值?
- php - 我可以从 mysql 表中获取值并将其设置为变量吗?
- qt - Qt Installer Framework - 防止安装在非空文件夹中
- sql - 在 sybase 中,如何锁定正在执行的存储过程并更改存储过程返回的表?
- java - Spring推送通过WebSocket向未经身份验证的用户发送消息