Подавление непроверенных предупреждений Java в файлах JSP - PullRequest
11 голосов
/ 07 февраля 2011

У меня есть устаревшее веб-приложение, которое использует теги jstl и Struts 1.Когда я предварительно компилирую файлы JSP с помощью Java 5/6, теги jstl и Struts 1 выдают предупреждения о «непроверенных или небезопасных операциях».Например, если я использую следующий тег:

<%@ page import="/anotherpage.inc" %>

Выдается следующее предупреждение:

[javac] Note: Some input files use unchecked or unsafe operations.
[javac] Note: Recompile with -Xlint:unchecked for details.

Если я перекомпилирую с -Xlint: unchecked, яполучить подробную информацию о внутренней работе библиотеки тегов JSP-нарушителя.Я хотел бы подавить все непроверенные предупреждения операции.Я думал, что использование -Xlint: -unchecked будет подавлять предупреждения, но это не так.

Как мне подавить эти предупреждения при компиляции моих страниц JSP?Было бы непрактично перекодировать библиотеки тегов JSP или обновить тысячу страниц JSP.Я ищу флаг компилятора, чтобы глобально отключить предупреждение, чтобы я мог видеть все предупреждения, кроме непроверенных предупреждений.Спасибо!

Ответы [ 3 ]

1 голос
/ 26 апреля 2011

Эти сообщения являются (обязательно для JDK> = 1,5) примечанием, а не предупреждением.

compiler.note.unchecked.plural=\
    Some input files use unchecked or unsafe operations.

Поведение компилятора по умолчанию такое же, как и с -Xlint:-unchecked.

С -Xlint:unchecked вы включаете предупреждение, сообщая о каждом экземпляре.* Обязательные примечания не могут быть отключены по отдельности, все они отключены с -Xlint:none.К сожалению, остальные предупреждения также отключены.

Вы можете проверить другие ответы на наличие альтернатив, но фильтрация выходных сообщений компилятора кажется самым простым решением.

0 голосов
/ 17 февраля 2011

лучший способ отключить это предупреждение - перестать использовать код Java в ваших JSP.Вместо этого начните привыкать к использованию JSTL или JSF (при необходимости с пользовательскими тегами libs).

Но с устаревшими приложениями вы вряд ли сможете это сделать, и вам просто придется житьс предупреждениями.Конечно, вы можете добавить флаг -nowarn к компилятору, но это отключит ВСЕ предупреждения, а не только это, которое может быть больше, чем вы хотите.

0 голосов
/ 08 февраля 2011

Вы правы, что

-Xlint:unchecked

делает противоположное тому, что вы хотите, но вы также можете использовать

-Xlint:-unchecked

Обратите внимание на лишние "-" там.

Это отключит все предупреждения о непроверенных операциях, не только те, которые были сгенерированы библиотекой тегов, но и другие предупреждения будут отображаться.

...