我有一个可以由eclipse (ECJ)很好地构建的项目,但是Oracle javac无法构建它(比如链接:the different of ecj and javac)。我想从eclipse迁移到Gradle构建,以便Jenkins能够运行Gradle脚本。但是Gradle总是使用javac来编译。我使用了插件'eclipse,eclipse-wtp‘或库,依赖jdt来配置gradle,使用ECJ那样使用ECJ,但它仍然没有使用ECJ编译:
compileJava{
options.forkOptions.with {
executable = 'java'
jvmArgs = ['-classpath','_mylibary_jdt_jar']
}
}问题:我不知道用何种方式(没有文档,有些方式已经过期,旧的gradle或不正确),用Eclipse (ECJ)运行4.1级任务来编译我期望的类。
注意:当我使用javac:incompatible type with javac构建时,出现了这个错误。我想和ECJ一起完成任务。
发布于 2017-09-20 18:00:41
将此添加到gradle构建脚本中对我有用:
configurations {
ecj
}
dependencies {
ecj 'org.eclipse.jdt:ecj:3.25.0'
}
compileJava {
options.fork = true
options.forkOptions.with {
executable = 'java'
jvmArgs = ['-classpath', project.configurations.ecj.asPath, 'org.eclipse.jdt.internal.compiler.batch.Main', '-nowarn']
}
}https://stackoverflow.com/questions/46196120
复制相似问题