我是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

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

最佳答案

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

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'
}

}

08-03 17:03