java.lang.NoClassDefFoundError 在 Intellij 插件中
java.lang.NoClassDefFoundError in Intellij Plugin
我正在尝试为 Intellij 构建一个插件,但每次我的代码指向另一个模块或外部库中的 class 时,我都会在运行时得到一个 java.lang.NoClassDefFoundError
。
通过 runIde
在我的测试和沙箱中一切正常。
我还通过创建一个只有一个动作的新项目和一个带有 class 和一个空方法的模块来重现错误。
root gradle:
构建脚本{
ext.kotlin_version = '1.2.31'
存储库{
mavenCentral()
}
依赖关系{
class路径"org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
插件{
id 'org.jetbrains.intellij' 版本 '0.3.12'
}
组 'test'
版本“1.0-SNAPSHOT”
应用插件:'kotlin'
存储库{
mavenCentral()
}
依赖关系{
编译 "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
编译项目(':testmodule')
}
编译 Kotlin {
kotlinOptions.jvmTarget = "1.8"
}
compileTestKotlin {
kotlinOptions.jvmTarget = "1.8"
}
智能{
版本 '2018.1.6'
}
patchPluginXml {
更改备注 """
在此处添加更改说明。
可以使用大多数 HTML 标签"""
}
操作:
一揽子行动
导入 com.intellij.openapi.actionSystem.*
进口 packages.OtherModuleClass
class TestAction : AnAction() {
覆盖有趣的 actionPerformed(e:AnActionEvent?){
OtherModuleClass().otherModuleMethod()
}
}
其他模块class:
包包
class 其他模块类 {
有趣的 otherModuleMethod() {}
}
我发现我的问题是什么了。
我在 IDE 中安装 build/libs
中的 jar
而不是 build/distributions
中的 zip
。
如果其他人正在寻找类似问题的解决方案,我通过在 build.gradle
中添加 java 插件来修复它
apply plugin "java"
我正在尝试为 Intellij 构建一个插件,但每次我的代码指向另一个模块或外部库中的 class 时,我都会在运行时得到一个 java.lang.NoClassDefFoundError
。
通过 runIde
在我的测试和沙箱中一切正常。
我还通过创建一个只有一个动作的新项目和一个带有 class 和一个空方法的模块来重现错误。
root gradle:
构建脚本{ ext.kotlin_version = '1.2.31' 存储库{ mavenCentral() } 依赖关系{ class路径"org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } 插件{ id 'org.jetbrains.intellij' 版本 '0.3.12' } 组 'test' 版本“1.0-SNAPSHOT” 应用插件:'kotlin' 存储库{ mavenCentral() } 依赖关系{ 编译 "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version" 编译项目(':testmodule') } 编译 Kotlin { kotlinOptions.jvmTarget = "1.8" } compileTestKotlin { kotlinOptions.jvmTarget = "1.8" } 智能{ 版本 '2018.1.6' } patchPluginXml { 更改备注 """ 在此处添加更改说明。
可以使用大多数 HTML 标签""" }
操作:
一揽子行动 导入 com.intellij.openapi.actionSystem.* 进口 packages.OtherModuleClass class TestAction : AnAction() { 覆盖有趣的 actionPerformed(e:AnActionEvent?){ OtherModuleClass().otherModuleMethod() } }
其他模块class:
包包 class 其他模块类 { 有趣的 otherModuleMethod() {} }
我发现我的问题是什么了。
我在 IDE 中安装 build/libs
中的 jar
而不是 build/distributions
中的 zip
。
如果其他人正在寻找类似问题的解决方案,我通过在 build.gradle
中添加 java 插件来修复它apply plugin "java"