Gil*_*ili 5 java lint compiler-warnings maven java-11
我的软件构建使用-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
如果您无法访问在线文档,一种方法是使用以下命令
javac --help-extra
这将列出您可以启用/禁用的可能警告。例如来自javac 12-ea:
| 归档时间: | 
 | 
| 查看次数: | 680 次 | 
| 最近记录: |