【问题标题】:java.lang.NoClassDefFoundError in Intellij PluginIntellij 插件中的 java.lang.NoClassDefFoundError
【发布时间】: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


【解决方案1】:

我发现了我的问题。

我在我的 IDE 中安装了 build/libs 中的 jar,而不是 build/distributions 中的 zip

【讨论】:

    【解决方案2】:

    如果其他人正在寻找类似问题的解决方案,我通过在 build.gradle 中添加 java 插件来修复它

    apply plugin "java"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-07-09
      • 2020-07-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-13
      • 2016-08-24
      相关资源
      最近更新 更多