Gradle -compileJava -删除编译警告

问题描述 投票:0回答:5

我们使用 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出警告? 或者还有别的办法吗?

java gradle warnings compiler-warnings
5个回答
11
投票

试试这个:

tasks.withType(JavaCompile) {
    options.warnings = false
}

2
投票

尝试添加:

options.compilerArgs += '-Xlint:-deprecation'

2
投票

到目前为止还没有发布当前有效的答案(Gradle 4.0.1),所以这里是有效的:

options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"

0
投票

我认为这实际上取决于警告。对于我收到的警告,这有效:

    tasks.withType(JavaCompile) {
        options.compilerArgs += ["-nowarn", "-XDenableSunApiLintControl"]
    }

神智恢复。


0
投票
如果您从终端运行 gradle build,

--warning-mode none
可用于避免打印警告。

./gradlew clean build --warning-mode none
© www.soinside.com 2019 - 2024. All rights reserved.