2010-04-01 2 views
1

Я генерирую код, используя CXF из WSDL-файла. При компиляции кода с версии «1.6.0_16» с флагом -Xlint я получаю следующее предупреждение:Избавиться от избыточного приведения в javax.xml.bind.JAXBElement <java.lang.Boolean> предупреждение из кода сгенерированного CXF

warning: [cast] redundant cast to javax.xml.bind.JAXBElement<java.lang.Boolean> 
    [javac]   this.r = ((JAXBElement<Boolean>) value); 

Что означает предупреждение значит, я должен волноваться? Как я создал и не написал код, что я могу сделать, чтобы избавиться от этого конкретного предупреждения?

ответ

1

Нет, вы не должны волноваться, избыточные броски безвредны.

Обычно сгенерированный код компилируется с предупреждениями, вы обычно просто игнорируете их. Еще лучше, скомпилируйте сгенерированный код в отдельный JAR и ссылайтесь на него из вашего основного кода. Таким образом, вам не нужно перекомпилировать сгенерированный код, и вы не будете видеть предупреждения каждый раз.

+0

Они могут быть безвредными, и совет, чтобы игнорировать их хорошо. Но трудно понять, почему такой бессмысленно избыточный код будет генерироваться в первую очередь. Это не вопрос обратной совместимости или что-то в этом роде. – Haakon

0

У меня была аналогичная проблема, в то время как CXF был генерации кода избыточную приведение в байт [] в то время как -Werror и -Xlint: все был установлен в мавена для компиляции кода

Возможный обходной путь для мне/нам было добавить:

-Xlint: Литой подавить предупреждение и сохранить -Werror флаг

Смежные вопросы