当前位置: 首页 > news >正文

IDEA-插件开发踩坑记录-第六坑-UAST依赖问题

背景

简要说明:

UAST – Unified Abstract Syntax Tree

UAST (Unified Abstract Syntax Tree) is an abstraction layer on the PSI of different programming languages targeting the JVM (Java Virtual Machine). It provides a unified API for working with common language elements like classes and method declarations, literal values, and control flow operators.

大意:

UAST(统一抽象语法树)是针对JVM (Java虚拟机)的不同编程语言的PSI上的抽象层。它提供了一个统一的API,用于处理公共语言元素,如类和方法声明、文字值和控制流操作符。

你如果用到了PSI与JAVA相关的东西,都可能出现我这个问题;当然类似其他PSI抽象也可以参考这个解决办法。

在JetBrains-intellij-idea 插件开发时,编译正常,运行不正常的奇怪问题;

插件开发依赖版本(申明了依赖JAVA):

intellij {version.set("2024.1.7")type.set("IC") // Target IDE Platform# 此处申明了需要依赖javaplugins.set(listOf("com.intellij.java"))
}

问题现象

编译正常,运行到 PsiMethod部分报错;

异常堆栈关键信息

#c.i.i.p.PluginManager - com/intellij/psi/PsiMethod
java.lang.NoClassDefFoundError: com/intellij/psi/PsiMethod

......

Caused by: java.lang.ClassNotFoundException: com.intellij.psi.PsiMethod PluginClassLoader(plugin=PluginDescriptor

......

结论

插件依赖需要检查三个步骤:JetBrains官方说明

  1. 确定 Plugin ID

  2. 检查项目设置

  3. 在plugin.xml中定义;

如果编译正常,运行出现 java.lang.NoClassDefFoundError一般而言是遗漏了第三个步骤。

解决办法很简单:在plugin.xml中添加如下内容:

<depends>com.intellij.java</depends>

http://www.lryc.cn/news/544574.html

相关文章:

  • 单片机总结【GPIO/TIM/IIC/SPI/UART】
  • 信号和槽
  • Window下Redis的安装和部署详细图文教程(Redis的安装和可视化工具的使用)
  • 1.2.3 使用Spring Initializr方式构建Spring Boot项目
  • 数据可视化02-PCA降维
  • 大连指令数据集的创建--数据收集与预处理_02
  • xr-frame 3D Marker识别,扬州古牌坊 3D识别技术稳定调研
  • 【网络安全 | 漏洞挖掘】利用文件上传功能的 IDOR 和 XSS 劫持会话
  • 达梦数据库系列之安装及Mysql数据迁移
  • FS800DTU联动OneNET平台数据可视化View
  • ffmpeg avdevice_register_all 注册设备的作用
  • 使用JS遍历JSON数组
  • Go基于协程池的延迟任务调度器
  • k8S通过代理将集群外的中间件引入集群内访问 —— 筑梦之路
  • Linux 第三次脚本作业
  • 使用通义万相Wan2.1进行视频生成
  • AI技术为旅行社打开新流量入口
  • SuperMap iClient3D for WebGL 影像数据可视范围控制
  • API网关相关知识点
  • Opencv 图像形态学操作
  • Readability.js 与 Newspaper提取网页内容和元数据
  • 小程序Three Dof识别 实现景区AR体验
  • 腾讯2025年软件测试面试题
  • SSL域名证书怎么续期?
  • Grok3使用体验与模型版本对比分析
  • 《算法宝典:全类型题目索引》
  • Windows 11 部署 GPUStack 运行 DeepSeek
  • LangChain教程 - RAG - PDF问答
  • Windows 图形显示驱动开发-WDDM 3.2-自动显示切换(十二)
  • 《当齐天大圣踏入3A游戏世界:黑神话·悟空的破壁传奇》:此文为AI自动生成