gpt4 book ai didi

java - 如何确定哪个 Xlint 选项对应于编译器警告?

转载 作者:塔克拉玛干 更新时间:2023-11-01 23:00:37 27 4
gpt4 key购买 nike

我的软件构建使用 -Xlint -Werror,所以我经常遇到编译器警告,这些警告会破坏我的构建。每隔一段时间我就会遇到一个需要抑制的警告,但总是很难弄清楚是哪个 Xlint 选项抑制了我看到的警告。

我给你举个具体的例子。我最近遇到:

[WARNING] module-info.java:[16,106] module not found: 
org.bitbucket.cowwoc.requirements.guava

我搜索了 JDK 11 源代码,发现在 /src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler.properties 中声明的警告消息为:

# 0: symbol
compiler.err.module.not.found=\
module not found: {0}

现在,事实证明这被 -Xlint:-module 抑制了,但这在文档中并不明显。 -Xlint:-export 也很有意义。我过去也遇到过根本无法抑制的警告(这些警告随后得到修复)。

不是求助于反复试验,是否有一种确定性的方法来确定哪个 Xlint 选项对应于每个警告消息? JDK 源代码中是否有某种映射文件?

更新:我正在使用 Maven 3.6.0、maven-compiler-plugin 3.8.0、JDK 11.0.1

最佳答案

一种方法,如果您无法访问 online documentation可以使用命令

javac --help-extra

这将列出您可以启用/禁用的可能警告。例如来自 javac 12-ea :

enter image description here

关于java - 如何确定哪个 Xlint 选项对应于编译器警告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53676235/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com