2010-04-01 15 views
1

Je génère du code en utilisant CXF à partir d'un fichier WSDL. Lors de la compilation du code avec la version « 1.6.0_16 » avec le drapeau -Xlint je reçois l'avertissement suivant:Débarrassez-vous de la distribution redondante en javax.xml.bind.JAXBElement <java.lang.Boolean> avertissement provenant du code généré par CXF

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

Que signifie l'avertissement, dois-je être inquiet? Comme j'ai généré et non écrit le code, que puis-je faire pour me débarrasser de cet avertissement spécifique?

Répondre

1

Non, vous ne devriez pas vous inquiéter, les moulages redondants sont inoffensifs.

Il est courant que le code généré compile avec des avertissements, vous les ignorez généralement. Mieux encore, compilez le code généré dans un fichier JAR distinct et référencez-le à partir de votre code principal. De cette façon, vous n'avez pas besoin de recompiler le code généré, et vous ne verrez pas les avertissements à chaque fois.

+0

Ils peuvent être inoffensifs, et les conseils de les ignorer est bon. Mais il est difficile de comprendre pourquoi un tel code inutilement redondant serait généré en premier lieu. Ce n'est pas une question de rétro-compatibilité ou quelque chose comme ça. – Haakon

0

I eu un problème similaire a été alors CXF génération de code redondant coulé à byte [] tandis que -Werror et -Xlint: tous a été mis en maven pour compiler le code

Une solution possible pour moi/nous a été d'ajouter:

-Xlint: -Cast pour supprimer l'avertissement et de garder le drapeau -Werror