我正在用Gradle编译Java项目。运行gradle build
时,我得到:
任务:compileJava失败 /home/mvh/projects/research/DPM/src/main/java/DPM/bandera/Bandera.java:102:错误:从1.4版开始,“声明”是一个关键字,可能不能用作标识符 公共静态无效assert(boolean expr){ ^ (使用-source 1.3或更低版本将'assert'用作标识符) 1个错误
显然,使用javac进行编译时,解决方案是根据错误消息添加参数-source 1.3
。所以我尝试在gradle中添加此参数,如下所示:
compileJava {
options.compilerArgs << '-ea'
}
我还尝试了enableassertions
,-enableassertions
和ea
来代替-ea
。
我也尝试过:
test {
enableAssertions = true
}
也无济于事。在编译项目时,如何获取gradle构建文件以启用断言?谢谢!
答案 0 :(得分:2)
您尝试过吗?
compileJava {
options.compilerArgs << '-source 1.3'
}
我必须用这种方式警告您,您会松开所有“现代”语言功能(例如泛型)。
PS:
正确的解决方案将在类assert
中重命名Bandera
方法。
编辑 设置此标志的正确方法是
compileJava {
sourceCompatibility = 1.3
}
重命名方法是解决此问题的更好方法。