【发布时间】:2019-05-14 19:56:26
【问题描述】:
我正在尝试为 Intellij 构建一个插件,但每次我的代码指向另一个模块中的类或外部库时,我都会在运行时收到 java.lang.NoClassDefFoundError。
通过runIde 在我的测试和沙盒中一切正常。
我还设法通过创建一个新项目来重现该错误,该项目只有一个动作和一个带有类和空方法的模块。
根等级:
构建脚本 { ext.kotlin_version = '1.2.31' 存储库{ mavenCentral() } 依赖{ 类路径“org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version” } } 插件{ id 'org.jetbrains.intellij' 版本 '0.3.12' } 组“测试” 版本“1.0-SNAPSHOT” 应用插件:'kotlin' 存储库{ mavenCentral() } 依赖{ 编译“org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version” 编译项目(':testmodule') } 编译科特林 { kotlinOptions.jvmTarget = "1.8" } 编译TestKotlin { kotlinOptions.jvmTarget = "1.8" } 智能{ 版本“2018.1.6” } 补丁插件Xml { 更改备注 """ 在此处添加更改说明。可以使用大多数 HTML 标记""" }
动作:
一揽子行动 导入 com.intellij.openapi.actionSystem.* 导入包.OtherModuleClass 类 TestAction : AnAction() { 覆盖有趣的 actionPerformed(e: AnActionEvent?) { OtherModuleClass().otherModuleMethod() } }其他模块类:
包包 类其他模块类{ 有趣的 otherModuleMethod() {} }【问题讨论】:
-
> java.lang.NoClassDefFoundError 在什么类上?这门课是公开的吗?
-
@AlexanderZolotov 是公开的,我的代码编译,我的单元测试运行,在沙箱中启动插件工作。问题是当我获取生成的 .jar 文件并将其安装在 IDE 上进行实际测试时
标签: gradle intellij-idea intellij-plugin