gpt4 book ai didi

gradle - 解决异常java.lang.ClassCastException:org.jetbrains.kotlin.psi.KtFile

转载 作者:行者123 更新时间:2023-12-03 05:10:02 26 4
gpt4 key购买 nike

我正在为Intellij Idea编写一个插件,主要思想是获取Kotlin类的结构为:属性,方法等。
在我的 plugin.xml 中,添加了以下行<depends>org.jetbrains.kotlin</depends>
作为访问类KtVisitor的库,我添加了gradle以下库:org.jetbrains.kotlin:kotlin-compiler:1.2.30
一切都在异常编译,当我运行代码并听操作时,出现以下错误:java.lang.ClassCastException: org.jetbrains.kotlin.psi.KtFile cannot be cast to com.intellij.psi.PsiFile
负责听 Action 的地雷类如下:

class ConvertAction: AnAction(), DumbAware {
override fun actionPerformed(event: AnActionEvent?) {
val psiFile = event?.getData(PlatformDataKeys.PSI_FILE)
val s = true
}}

感谢您如何解决此问题的帮助。谢谢。

最佳答案

之所以发生ClassCastException,是因为IDEA加载了Kotlin插件类的两个副本,一个副本来自实际的Kotlin插件,另一个来自您提供的kotlin-compiler.jar。添加插件依赖项的正确方法是将以下内容添加到build.gradle中:

intellij {
plugins 'org.jetbrains.kotlin'
}

关于gradle - 解决异常java.lang.ClassCastException:org.jetbrains.kotlin.psi.KtFile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49429166/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com