使用Gradle在Groovy项目构建中抑制Java警告"Unsafe is internal proprietary API"

pdi*_*aso 6 java groovy gradle

我有一个使用Gradle(1.8)构建的Groovy项目,其中一些Java类报告以下编译器警告消息:

warning: Unsafe is internal proprietary API and may be removed in a future release
import sun.misc.Unsafe;
Run Code Online (Sandbox Code Playgroud)

有没有办法抑制该错误消息?我发现了一些建议使用javac编译器选项的答案,-XDignore.symbol.file但是在使用Groovy插件时我无法在Gradle构建中应用它.

有解决方案吗

谢谢

Vik*_*eev 7

将以下内容添加到gradle.build文件中

compileJava {
    options.compilerArgs << '-XDignore.symbol.file'
    options.fork = true // may not needed on 1.8
    options.forkOptions.executable = 'javac' // may not needed on 1.8
}
Run Code Online (Sandbox Code Playgroud)

在gradle 1.6上需要fork,不确定1.8更新:它仍然需要1.8

  • 所有这些仍然需要1.8/1.9.它的作用是强制Gradle使用命令行编译器.这是必要的,因为Java编译器API不支持`-XDignore.symbol.file`选项.请注意,使用命令行编译器可能会降低构建速度(特别是多项目构建). (2认同)