使用Gradle的IntelliJ插件给出java.lang.NoClassDefFoundError

时间:2018-10-25 01:34:38

标签: java gradle build.gradle intellij-plugin

我正在尝试使用共享模块的香草IntelliJ插件。

似乎插件版本已找到我的src目录,但不包括共享模块的类。如何告诉gradle将共享库类包含在内置插件中?

我尝试添加一个编译依赖项,但是在IDE中运行时没有java.lang.NoClassDefFoundError。

Gradle构建文件:

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

group 'com.prosc'
version '1.0-SNAPSHOT'

sourceCompatibility = 1.8

repositories {
    mavenCentral()
}

dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.12'
    compile files('out/production/MySharedLibrary')
}

intellij {
    version '2018.2.3'
}

2 个答案:

答案 0 :(得分:0)

org.jetbrains.intellij的文档提示了pluginName

intellij {
  version 'IC-2018.2.3'
  plugins = ['coverage', 'org.intellij.plugins.markdown:8.5.0.20160208']
  pluginName 'MySharedLibrary'
}

build.gradle.kts与之类似:

val sdkVersion = System.getProperty("idea.version", "IC-2018.2.3")
val pluginName = "MySharedLibrary"

configure<IntelliJPluginExtension> {
    version = sdkVersion
    pluginName = pluginName
    setPlugins(
        "android",
        "CheckStyle-IDEA:5.3.1",
        "copyright",
        "CSS",
        "gradle",
        "Groovy",
        "JavaScriptLanguage",
        "junit",
        "properties",
        "uml"
    )
}

答案 1 :(得分:0)

不要使用Gradle。请改用IntelliJ模块。