Когда я компилирую, выходы javac:
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.`
Я хочу подавить это предупреждение. Попытка -Xlint: ничто не помогает.
Когда я компилирую, выходы javac:
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.`
Я хочу подавить это предупреждение. Попытка -Xlint: ничто не помогает.
Из того, что я могу сказать в документах, вы не можете сделать это в командной строке.
В соответствии с javac
документацией, -Xlint: никто не отключает предупреждения, "не соответствующие спецификации языка Java". По-видимому, предупреждение о том, что использование устаревших API-интерфейсов управляется спецификацией языка.
Ваш лучший вариант - исправить использование устаревших API. Тем не менее, вариантом было бы добавить аннотацию @SuppressWarnings("deprecation")
к классам или методам, использующим устаревшие API.
Два возможных способа:
@SuppressWarnings("deprecation")
Для других, которые Google искали эту проблему и наткнулись на этот поток, как я это сделал...
Try: -Xlint: -deprecation
Кажется, что работает над JDK 6... не уверен в других.
С Java 6 ни поддержка @Depreated, ни флаг компилятора не помогут вам здесь. Единственное решение, которое сработало для меня, заключалось в том, чтобы добавить комментарий javadoc с тегом @deprecated (small caps) в устаревшем методе:
/**
* @deprecated overriding deprecated method
*/
@Override
public javax.xml.bind.Validator createValidator() throws JAXBException {...}
(Пример из класса, который происходит из JAXBContext.)
(я не импортировал класс устаревших Validator, чтобы избежать предупреждения в инструкции импорта.)
При использовании gradle вы можете легко его настроить:
tasks.withType(JavaCompile) {
options.deprecation = false
}
(проверено с помощью gradle 2 и Java 8)
Если это основной Java API, почти наверняка будет замена, которая будет делать то, что вы хотите. Запустите javac с этим дополнительным параметром, а затем посмотрите на API для устаревшего метода и замените его соответствующим образом.
@SuppressWarnings("deprecation")
не работает для меня, вместо этого я использовал
@SuppressWarnings("unchecked")
использовать атрибут nowarn ниже
например.
<javac srcdir="src"
destdir="build/classes" source="1.6"
target="1.6" debug="true" encoding="Cp1252"
nowarn="on">
по умолчанию атрибут nowarn отключен