IntelliJ 由于缺少类而无法运行 gradle 项目

2022-09-03 14:48:03

我只是尝试了一下IntelliJ,因为Eclipse再次惹恼了我。我导入了我的gradle项目(码头,vaadin),它进行得相当顺利。但是当我尝试运行它时,我在“make”期间遇到了以下错误消息:

Error:gradle-resources-test:vaadinsharedwidgets: java.lang.NoClassDefFoundError: org/apache/tools/ant/util/ReaderInputStream

“vaadinsharedwidgets”是该项目的一个模块。根据我从错误中了解到的情况,IntelliJ没有找到蚂蚁,但这是有意的,因为我不使用蚂蚁。它也不是传递依赖项的一部分。同一个项目在eclipse中运行良好,并且在gradle中构建它没有任何问题。

更新:我刚刚签入了Eclipse,不知何故,蚂蚁.jar在Eclipse的类路径上,但我无法将其链接到任何项目。我想知道它是如何到达那里的。

更新2:缺少版本信息:

  • IntelliJ: v14.0.1 CE (无插件)
  • 等级:2.2(通过包装器使用)
  • Java 8 (1.8.0 b05)
  • 瓦丁 7.3.4

build.gradle:

apply from: 'http://nexus/gradle/vaadin.gradle'
apply from: 'http://nexus/gradle/java8.gradle'

version = '1.1'

description = "Gemeinsame Vaadin-Widgets"

vaadin.widgetset  'net.xyz.vaadinsharedwidgets.VaadinsharedWidgetsWidgetset'

dependencies {
    compile project(':ibhtheme')
    compile 'com.vaadin:vaadin-server:' + vaadin.version
    compile 'com.vaadin:vaadin-client:' + vaadin.version
}

jar{
    // Include source in jar
    from sourceSets.main.allJava
}

sourceSets.main.resources.srcDir  'src/main/webapp'

vaadin.gradle:

apply from: 'http://plugins.jasoft.fi/vaadin.plugin?version=0.9.2'

configurations {
    def conf = 'vaadin-client'
    def sources = project.sourceSets.main
    def testSources = project.sourceSets.test

    if (!project.configurations.hasProperty(conf)) {
        project.configurations.create(conf)

        sources.compileClasspath += project.configurations[conf]
        testSources.compileClasspath += project.configurations[conf]
        testSources.runtimeClasspath += project.configurations[conf]

        project.configurations[conf].exclude group: 'org.eclipse.jetty' 
    }
}


vaadin {
    version '7.3.4'
    push true
}

java8.gradle:

apply plugin: 'java'

sourceCompatibility = 1.8
targetCompatibility = 1.8

group = 'net.xyz'

dependencies {
    compile 'org.slf4j:slf4j-api:1.7.5'
    compile 'com.google.guava:guava:16.0.1'
    compile 'org.springframework:spring-context:4.0.3.RELEASE'

    testCompile 'org.testng:testng:6.8.7'
    testCompile 'org.mockito:mockito-all:1.9.5'
    testCompile 'org.easytesting:fest-assert-core:2.0M10'
    testCompile 'org.springframework:spring-test:4.0.3.RELEASE'
}

将 ant 作为附加依赖项添加到模块中不起作用。


答案 1

我在IntelliJ 14中具有多个子项目的Java项目中遇到了相同的错误。

更新到 15.0.1,通过 IntelliJ 刷新 Gradle 项目并重新启动修复了此问题。Views → Tool Windows → Gradle


答案 2

从菜单中选择,然后选择 。这为我解决了这个问题。File → Invalidate Caches / RestartInvalidate and Restart


推荐