WsImport tâche ant et JDK 6
Je suis en train d'utiliser jax-ws pour générer de proxy de service web classes, à l'aide de la wsimport tâche ant, de même pour cette question, avec suivi sur la question:
Ce que je comprends, les plus récentes versions de JDK 1.6 inclure jax-ws et le WsImport tâche ant est définie dans le JDK de l'tools.jar fichier.
Pourquoi n'ant pas de trouver cela automatiquement?
Pourquoi eclipse ne trouve pas cela automatiquement?
J'ai trouvé quelques références à l'aide de jax-ws avec JDK 6, mais ils semblent être basés sur la copie d'un téléchargé séparément jax-ws bibliothèque et en le déposant dans le JDK ext dossier (ce qui je suppose n'est plus nécessaire étant donné que, effectivement, il est livré avec le JDK maintenant).
Quelle est la bonne façon d'utiliser le wsimport tâche avec une version de JDK 1.6, qui comprend déjà jax-ws?
Mon build XML:
<?xml version="1.0" encoding="UTF-8"?>
<project name="wsproxy">
<taskdef name="wsimport" classname="com.sun.tools.ws.ant.WsImport" />
<target name="wsgentest">
<wsimport
wsdl="http://localhost/Service?wsdl"
destdir="bin-gen"
sourcedestdir="src-gen"
keep="true"
verbose="true"
package="com.ws">
</wsimport>
</target>
</project>
OriginalL'auteur Travis | 2011-07-28
Vous devez vous connecter pour publier un commentaire.
Il s'avère que la WsImport classe qui est dans le JDK est pas vraiment une tâche ant, mais les wsimport outil de ligne de commande. J'ai mal lu le nom du package: com.soleil.outils.interne.ws.
La véritable tâche ant est disponible dans webservices-tools.jar dans le métro paquet ici. Vous aurez besoin de la faire tomber dans la fourmi répertoire lib.
OriginalL'auteur Travis
Autant que je sache, ce qui est fournie avec le JDK6 est le binaire outil lui-même, pas la tâche Ant.
Que je dispose de Java 1.6.0_31 dans ma boîte de dev, même si un peu spécial (JRockit R28.2.3), et c'est le seul moyen que j'ai trouvé pour utiliser
wsimport
tâche correctement.java -jar {jaxwsJarName}
, quel que soit le nom il est. Cette commande va créer un[jaxws-ri]
dossier.[jaxws-ri/lib]
dossier à l'emplacement de choix. En dépit de la taille, j'aime avoir les bibliothèques externes le long de mes propres projets, à assurer à toute personne peut être en mesure de compiler et d'emballage le code sans les artefacts externes.taskdef
élément et lewsimport
tâche dans votre fichier build.C'est mon
taskdef
élément:Et c'est mon
wsimport
tâche:OriginalL'auteur pcesarperez