Серьезность предупреждений компилятора Java - PullRequest
0 голосов
/ 26 мая 2009

Введение
Некоторые инструменты непрерывной интеграции (скажем, Hudson) предполагают, что компиляторы генерируют предупреждения разной степени важности (приоритет): высокий, нормальный и низкий.
В зависимости от количества и серьезности предупреждений компилятора инструмент может пометить сборку как нестабильная .
Я хочу, чтобы мои сборки были нестабильными, если компилятор генерирует высокоприоритетные предупреждения.

Я никогда не видел предупреждений с высоким (и низким) приоритетом в нашем проекте - только нормально, поэтому я немного подозрительно, если они действительно существуют.

Вопрос
Где можно посмотреть список предупреждений компилятора с высоким приоритетом , генерируемых javac и / или ecj.
Или, может быть, вы можете привести несколько примеров предупреждений с высоким приоритетом.

Другое
Связанный, но, возможно, другой вопрос: я подозреваю, что предупреждения компилятора с высоким приоритетом на самом деле являются ошибками, и фактически не может быть ситуации, когда исходный код компилируется с предупреждениями с высоким приоритетом (сборка будет прервана в этом случае).

Ответы [ 3 ]

2 голосов
/ 26 мая 2009

Вы можете получить список всех предупреждений компилятора, набрав:

Javac -X

и просмотр списка, указанного для опции -Xlint.

У Java на самом деле нет понятия «высокий» по сравнению с «низким» приоритетом, и, вероятно, не должно - какие именно предупреждения могут указывать на то, что проблема с вашим проектом действительно специфична для вашего конкретного способа разработки.

1 голос
/ 27 мая 2009

Если вы хотите видеть предупреждение с высоким и низким приоритетом, вы можете использовать PMD, FindBug и / или checkstyle Checkstyle особенно хорош при создании большого количества предупреждений с очень низким приоритетом. ;)

0 голосов
/ 26 мая 2009

Обращаясь конкретно к Хадсону, похоже, что опция «Сканировать файлы журналов для предупреждений компилятора» должна быть общей для всех компиляторов, а варианты «высокий приоритет» - «средний - низкий», вероятно, предназначены для компиляторов, способных генерировать эти уровни серьезности (например, gcc или PC-Lint или (может быть) компилятор Java Eclipse). Я не верю, что javac способен на это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...