J'utilise la tâche Wsimport Ant de JAX-WS pour générer des sources en fonction de certains WSDL. P>
Cependant, ces sources générées semblent toutes codées UTF-8. Existe-t-il un moyen de modifier le codage des fichiers Wsimport Task Produit? P>
5 Réponses :
Ceci est quelque peu mal documenté. Wsimport utilise XJC (à partir de JAXB) pour créer des fichiers Java et la documentation Ici indique que la modification du codage du personnage dans le fichier XML devrait suffire (bien que je n'ai pas essayé cela). Si vous vous contentez d'exécuter JAXB à la main, vous pouvez également configurer ceci via la propriété Jaxb_encoding sur votre JAXBContext. p>
Définir la variable d'environnement sur Exemple de la borne sous Windows: P> Java_Tool_Options code> à
-DFILE.CODING = UTF8 code>
set JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF8
c:>wsimport -keep ... file.wsdl
Picked up `JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF8`
parsing WSDL...
Generating code...
i Publier avec mon compte registre:
Définir la variable d'environnement Exemple de Windows: P> ramassé JAVA_TOOL_OPTIONS: -DFILE.CODING = UTF8
analysant WSDL ... p> Code générateur ... p> p> Java_Tool_Options CODE> TO -
DFILE.CODING = UTF8 CODE> P>
wsimport 2.2.9 dans JDK 8 a la Je ne trouve pas cette option dans WSIMPORT 2.1.6 (JDK 6) ou 2.2.4-B01 (JDK 7). P> P> -coding code> option pouvant être utilisée pour cela. Par exemple:
Ça marche parfait +1. Pour moi, cela fonctionne également sur la version précédente (2.2.7)
Travaillé pour moi aussi! +1
Si vous utilisez WSIMPORT via une tâche ANT à l'aide de gradle code>, vous pouvez simplement utiliser la propriété
coding code> spécifiant le codage souhaité dans
wsimport code>. J'ai testé avec la version wsimport 2.2.7 em>
Pourquoi voulez-vous exactement de ne pas utiliser UTF-8?
Parce que sur ce projet, toutes les autres superficielles Java sont codées CP1252. Les codages sources mixtes peuvent provoquer le problème du compilateur, en particulier lors de l'utilisation de caractères non ASCII. Je souhaite donc que le Wsimport génère des sources Java CP1252 codées.