【发布时间】:2017-07-05 16:13:37
【问题描述】:
我将以下内容放在我的项目 gradle 文件的末尾:
gradle.projectsEvaluated {
tasks.withType(JavaCompile) {
options.compilerArgs +=
['-Xep:MissingOverride:ERROR',
'-Xep:MissingCasesInEnumSwitch:ERROR',]
}
}
但是,在我的代码中,如果我在某处删除 @Override 注释或删除 switch 语句,我的 Android 项目仍然可以构建。它不应该因错误而失败吗?
【问题讨论】:
-
我不知道它对于 android 项目的行为是否不同,但对于我们的 java EE 构建,我实现了这个:
compileJava{ options.fork = true options.forkOptions.executable = 'javac' options.compilerArgs.addAll( [ '-APackageAcronym='+gradle.ext.packageAcronym, '-s', gradle.ext.generatedQueriesDir ] ) }因为 compileJava 是它自己的任务。 -
您是否将
compileJava放在根级别?如果我这样做,我会收到以下错误消息:“错误:找不到方法 compileJava() ...” -
是的,我把它放在了根级别。我认为这对于 android gradle 构建有所不同?只是想试一试:)对不起,我浪费了你的时间。
-
不,谢谢你的建议!感谢您付出时间。 :)
-
我google了一下,看来android真的隐藏了任务compileJava并拒绝访问它。但我发现这种平静似乎对其他用户有用
allprojects { gradle.projectsEvaluated { tasks.withType(JavaCompile) { options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation" } } }在这里找到:stackoverflow.com/questions/18689365/… compileJava 任务信息:stackoverflow.com/questions/16853130/…
标签: java android gradle android-gradle-plugin javac