任务“:spoon”执行失败。 > org/eclipse/jdt/internal/core/util/CommentRecorderParser

Execution failed for task ':spoon'. > org/eclipse/jdt/internal/core/util/CommentRecorderParser

我是 Spoon 的新手。我只知道使用 Spoon 我们可以分析和转换源代码。我想在我的 gradle 项目中使用 Spoon。我正在为这个项目使用 IntelliJ IDEA。我在尝试构建项目时遇到此错误。

错误:

Execution failed for task ':spoon'.
> org/eclipse/jdt/internal/core/util/CommentRecorderParser

我的build.gradle文件如下:

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

apply plugin: 'java'

sourceCompatibility = 1.8

repositories {
    mavenCentral()
}

dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.12'
    compile 'fr.inria.gforge.spoon:spoon-core:5.8.0'
}

buildscript {
    repositories {
        mavenLocal()
        mavenCentral()
    }
    dependencies {
        classpath group: 'fr.inria.gforge.spoon',
                name: 'spoon-gradle-plugin',
                version:'1.1'
    }
}

apply plugin: 'java'
apply plugin: 'spoon'

jar {
    manifest {
        attributes(
                'Class-Path': configurations.compile.collect { it.getName() }.join(' '),
                'Main-Class': 'Main'
        )
    }
}

我用 --stacktrace

构建时得到了这个
Caused by: java.lang.NoClassDefFoundError: org/eclipse/jdt/internal/core/util/CommentRecorderParser

请帮我解决这个问题。提前致谢

spoon 会发生这种情况,因为它无法在 class 路径中找到 org/eclipse/jdt/internal/core/util/CommentRecorderParser class。将以下内容添加到您的构建脚本依赖项中应该可以解决问题:

buildscript {
repositories {
    mavenLocal()
    mavenCentral()
}
dependencies {
    classpath group: 'fr.inria.gforge.spoon',
            name: 'spoon-gradle-plugin',
            version:'1.1'
    classpath group: 'org.eclipse.jdt', name: 'org.eclipse.jdt.core', version: '3.12.2'
}

}