我们使用 Gradle 2.1 和 java 插件。在编译Java期间会出现不同的警告,例如:
warning: [options] bootstrap class path not set in conjunction with -source 1.7
Note: ../SomeClass.java uses or overrides a deprecated API.
我们知道它们的含义,但不会修复它们(不要问,其他线程:)有没有办法以某种方式避免这些消息?它们对输出干扰很大:
:project1:compileJava
warning: [options] bootstrap class path not set in conjunction with -source 1.7
Note: SomeClass.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
1 warning
:project1:processResources
:project1:classes
:project1:jar
:project2:compileJava
warning: [options] bootstrap class path not set in conjunction with -source 1.7
1 warning
:project2:processResources
:project2:classes
:project2:jar
:project2:war
是否可以在compileJava期间重定向stderr流,以便我们可以grep出警告? 或者还有别的办法吗?
试试这个:
tasks.withType(JavaCompile) {
options.warnings = false
}
尝试添加:
options.compilerArgs += '-Xlint:-deprecation'
到目前为止还没有发布当前有效的答案(Gradle 4.0.1),所以这里是有效的:
options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"
我认为这实际上取决于警告。对于我收到的警告,这有效:
tasks.withType(JavaCompile) {
options.compilerArgs += ["-nowarn", "-XDenableSunApiLintControl"]
}
神智恢复。
--warning-mode none
可用于避免打印警告。
./gradlew clean build --warning-mode none