我有一个可以很好构建的项目日食(欧洲法院) But 甲骨文javac无法构建它(一些原因如链接中所示:ecj和javac的区别 https://stackoverflow.com/questions/3061654/what-is-the-difference-between-javac-and-the-eclipse-compiler)。
我想从 Eclipse 迁移到 Gradle 构建,以便 Jenkins 可以运行 Gradle 脚本。但Gradle总是使用javac来编译。我使用了插件“eclipse、eclipse-wtp”或库,jdt 的依赖关系配置 gradle 像这样使用 ECJ,但它仍然不使用 ECJ 进行编译:
compileJava{
options.forkOptions.with {
executable = 'java'
jvmArgs = ['-classpath','_mylibary_jdt_jar']
}
}
问题:我不知道如何使用 Eclipse 编译器(ECJ)来编译我期望的类(没有文档,有些方法但因旧 gradle 过期或不正确)gradle 4.1 运行任务。
注意:当我用javac构建时出现这个错误:与 javac 不兼容的类型 https://stackoverflow.com/questions/46168970/incompatible-types-listobject-cannot-be-converted-to-list-extends-serializa/46169299?noredirect=1#comment79313735_46169299。我想通过 ECJ 的任务 gradle 运行良好。
将其添加到 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']
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)