3

我是勺子的新手。我只知道使用 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

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

4

1 回答 1

1

勺子会发生这种情况,因为它无法在类路径中找到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'
}

}

于 2017-07-29T09:02:16.890 回答