`assert` 是关键字,用 Gradle 编译
`assert` is a keyword, compiling with Gradle
我正在用 Gradle 编译一个 Java 项目。当我 运行 gradle build
时,我得到:
Task :compileJava FAILED
/home/mvh/projects/research/DPM/src/main/java/DPM/bandera/Bandera.java:102: error: as of release 1.4, 'assert' is a keyword, and may not be used as an identifier
public static void assert(boolean expr) {
^
(use -source 1.3 or lower to use 'assert' as an identifier)
1 error
显然,在使用 javac 进行编译时,解决方案是根据错误消息添加参数 -source 1.3
。所以我尝试在 gradle 中添加这个参数,如下所示:
compileJava {
options.compilerArgs << '-ea'
}
我还尝试用 enableassertions
、-enableassertions
和 ea
代替 -ea
。
我也试过这个:
test {
enableAssertions = true
}
也无济于事。我怎样才能让我的 gradle 构建文件在编译我的项目时启用断言?谢谢!
你试过了吗?
compileJava {
options.compilerArgs << '-source 1.3'
}
我必须警告你,这样你就失去了所有 "modern" 语言特性(比如泛型)。
PS:
正确的解决方案是在 class Bandera
.
中重命名 assert
方法
编辑
设置此标志的正确方法是
compileJava {
sourceCompatibility = 1.3
}
重命名方法是解决此问题的更好方法。
我正在用 Gradle 编译一个 Java 项目。当我 运行 gradle build
时,我得到:
Task :compileJava FAILED /home/mvh/projects/research/DPM/src/main/java/DPM/bandera/Bandera.java:102: error: as of release 1.4, 'assert' is a keyword, and may not be used as an identifier public static void assert(boolean expr) { ^ (use -source 1.3 or lower to use 'assert' as an identifier) 1 error
显然,在使用 javac 进行编译时,解决方案是根据错误消息添加参数 -source 1.3
。所以我尝试在 gradle 中添加这个参数,如下所示:
compileJava {
options.compilerArgs << '-ea'
}
我还尝试用 enableassertions
、-enableassertions
和 ea
代替 -ea
。
我也试过这个:
test {
enableAssertions = true
}
也无济于事。我怎样才能让我的 gradle 构建文件在编译我的项目时启用断言?谢谢!
你试过了吗?
compileJava {
options.compilerArgs << '-source 1.3'
}
我必须警告你,这样你就失去了所有 "modern" 语言特性(比如泛型)。
PS:
正确的解决方案是在 class Bandera
.
assert
方法
编辑 设置此标志的正确方法是
compileJava {
sourceCompatibility = 1.3
}
重命名方法是解决此问题的更好方法。