代码之家  ›  专栏  ›  技术社区  ›  Markus Weninger

在Java编译期间,有没有可能告诉-Werror忽略某个类或某个警告?

  •  3
  • Markus Weninger  · 技术社区  · 8 年前

    我使用Gradle以以下设置构建Java项目,将警告视为错误:

    tasks.withType(JavaCompile) {
      options.compilerArgs << "-Xlint:unchecked" << "-Werror"
    }
    

    现在我们想在某个班上做一些实验研究(我们称之为 Experimental.java )这会引发一些警告( warning: XYZ is internal proprietary API and may be removed in a future release ). 这导致了整个项目无法构建的问题。

    我们可以根据以下条件排除某个类的检查吗 -Werror (即,“不要检查 实验的Java语言 “”或者我们能说吗 -Werror公司 忽略某个警告(即“不要 internal proprietary API 警告为错误”)?我们不想关闭 -Werror公司 完全地,其他阶级仍然应该这样对待。

    1 回复  |  直到 8 年前
        1
  •  1
  •   Markus Weninger    8 年前

    幸亏 this answer 我想出了一个解决办法。

    -XDenableSunApiLintControl 然后可以使用关闭“Sun内部警告” -Xlint:-sunapi .

    我调整后的Gradle生成文件如下所示:

    tasks.withType(JavaCompile) {
      options.compilerArgs << "-XDenableSunApiLintControl" << "-Xlint:all" << "-Werror" << "-Xlint:-sunapi"
    }