В моих сборках программного обеспечения используется -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?
UPDATE : я использую Maven 3.6.0, maven-compiler-plugin 3.8.0, JDK 11.0.1