java.lang.NoClassDefFoundError в плагине Intellij - PullRequest
0 голосов
/ 13 декабря 2018

Я пытаюсь создать плагин для Intellij, но я получаю java.lang.NoClassDefFoundError во время выполнения каждый раз, когда мой код указывает на класс в другом модуле или на внешнюю библиотеку.

Все работает нормальнов моих тестах и ​​в песочнице через runIde.

мне также удалось воспроизвести ошибку, создав новый проект с помощью всего лишь действия и модуля с классом и пустым методом.

root gradle:

buildscript {
    ext.kotlin_version = '1.2.31'

    repositories {
        mavenCentral()
    }
    dependencies {
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

plugins {
    id 'org.jetbrains.intellij' version '0.3.12'
}

group 'test'
version '1.0-SNAPSHOT'

apply plugin: 'kotlin'

repositories {
    mavenCentral()
}

dependencies {
    compile "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
    compile project(':testmodule')
}

compileKotlin {
    kotlinOptions.jvmTarget = "1.8"
}
compileTestKotlin {
    kotlinOptions.jvmTarget = "1.8"
}
intellij {
    version '2018.1.6'
}
patchPluginXml {
    changeNotes """
      Add change notes here.<br>
      <em>most HTML tags may be used</em>"""
}

действие:

package action

import com.intellij.openapi.actionSystem.*
import packages.OtherModuleClass

class TestAction : AnAction() {
    override fun actionPerformed(e: AnActionEvent?) {
        OtherModuleClass().otherModuleMethod()
    }
}

другой класс модуля:

package packages

class OtherModuleClass {

    fun otherModuleMethod() {}

}

1 Ответ

0 голосов
/ 13 декабря 2018

Я выяснил, в чем заключается моя проблема.

Я устанавливал в своей IDE jar в build/libs вместо zip в build/distributions.

...