-Xlint
- это опция компилятора, а не maven или jvm.
В командной строке maven принимает -Xlint
, но обрабатывает его как параметр -X
maven («отладка») и игнорирует остальные. Так что это не имеет ожидаемого эффекта.
В конкретном случае этих двух параметров компилятора вы можете установить свойства Maven, которые приведут к заданию желаемых параметров компилятора. Поместите их в .mvn/maven.config
, MAVEN_OPTS
env var или в командную строку вашего проекта:
-Dmaven.compiler.showWarnings=true
-Dmaven.compiler.showDeprecation=true
См. Плагин компилятора maven .
Вы также можете использовать свойство compilerArgs
в своем pom.xml
или пользовательском профиле Maven settings.xml
. Я не вижу способа установить это свойство со значением List в качестве системного свойства. Вы также не можете использовать compilerArgument
или compilerArguments
, они не имеют пользовательских свойств .
Вы также можете найти полезным управлять уровнем журналирования компилятора; например, вы можете отключить эти предупреждения с помощью:
-Dorg.slf4j.simpleLogger.log.org.apache.maven.plugin.compiler.CompilerMojo=warn
Обратите внимание, что явная настройка -Dmaven.compiler.showWarnings=false
будет , а не подавлять сообщения -Xlint
. См. Как я могу подавить предупреждения javac об устаревшем API? . Maven, похоже, не предлагает способ установки соответствующих свойств -Xlint:-deprecated -Xlint:-unchecked
в командной строке. Вы не можете установить их напрямую settings.xml
, потому что вы не можете установить отдельные свойства плагина. Это должно быть pom.xml
.