La classe taskdef com.sun.tools.ws.ant.WsImport est introuvable
J'ai vu le même problème dans de nombreux endroits différents et même après une bonne partie de googler, je ne pouvais pas le résoudre. Ce que je suis en train de faire (l'image plus grande) est de passer par La java, services web tutorielqui semble à des points de synchronisation,
Spécialement icilorsque j'essaie de compiler, j'obtiens le message suivant:
C:\javaeetutorial5\examples\jaxws\common\targets.xml:26: taskdef classe com.soleil.outils.ws.ant.WsImport ne peut pas être trouvé
J'ai essayé beaucoup de différentes combinaisons de placer des pots ou de modification des variables d'environnement, mais sans résultat. Toutes les histoires de succès?
La version complète message d'erreur est le suivant:
BUILD FAILED
C:\javaeetutorial5\examples\jaxws\helloservice\build.xml:4: L'erreur suivante s'est produite lors de l'exécution de cette ligne:
C:\javaeetutorial5\examples\jaxws\common\targets.xml:26: taskdef Une classe nécessaire par la classe com.soleil.outils.ws.ant.WsImport ne peut pas être trouvé: org/apache/outils/ant/DynamicConfigurator
en utilisant le chargeur de classe AntClassLoader[C:\Program Files (x86)\Java\jdk1.6.0_23\lib\tools.jar]
Temps Total: 0 secondes
Et le correspondant taskdef:
<taskdef name="wsimport" classname="com.sun.tools.ws.ant.WsImport">
<classpath refid="jaxws.classpath"/>
</taskdef>
Aussi un coup d'oeil à l'approbation du répertoire:
C:\javaeetutorial5\kschneid>cd %JAVA_HOME%
C:\Program Files (x86)\Java\jdk1.6.0_23>dir lib\endorsed
Volume in drive C is OSDisk
Volume Serial Number is AAAA-BBBB
Directory of C:\Program Files (x86)\Java\jdk1.6.0_23\lib\endorsed
25/02/2011 09:34 <DIR> .
25/02/2011 09:34 <DIR> ..
25/02/2011 09:34 105,134 jaxb-api.jar
25/02/2011 09:33 54,476 jaxws-api.jar
2 File(s) 159,610 bytes
2 Dir(s) 110,907,056,128 bytes free
C:\Program Files (x86)\Java\jdk1.6.0_23>
source d'informationauteur Dimitrios Mistriotis
Vous devez vous connecter pour publier un commentaire.
Bien, apparemment, un lien vers un site web avec le solution à cette question est inacceptable, donc je vais coller la réponse ici:
Le problème est dû à la jaxws bocal de ne pas être dans le chemin de classe voir la pathelement nœud au-dessus. Ajouter le jar au classpath résout le problème.
La
<wsimport>
tâche ant n'est pas inclus dans le JDK, même si il ya une wsimport.exe qui fait exactement la même chose.Si vous voulez vraiment la tâche ant, vous pouvez télécharger jaxws-ri et l'utilisation de l'23(!) les bocaux dans le dossier lib.
Ou vous pouvez utiliser cette solution de contournement en appelant wsimport.exe:
Vous pouvez résoudre le problème dans Netbeans x.y comme suit:
où x.y = 7.1, 7.2, 8.0 etc
Je soutiens pleinement la non-IDE de développement, en particulier lorsque vous essayez d'apprendre quelque chose ;). Essayez de démarrer avec ce simple fichier (utilisez l'emplacement réel de votre JAX-WS RI installer):
Si vous venez d'exécuter
ant
vous devriez voir une partie de la sortie comme suit:Depuis on dirait que vous êtes à l'aide de Java 6, attention à "En cours d'exécution sur JDK6".
Cela a fonctionné pour moi:
J'ai télécharger le JAVA-WS bibliothèque de site officiel
Je l'ai mis sur les extra-répertoire lib. Ce répertoire se trouve sur le même niveau de build.xml.
Sur build.xml je copie de jaxws-build.xml la tâche Ant nommé “wsimport-init” et je le modifie comme dans le mode de poursuite:
Référence: http://www.staniscia.net/989-resolve-the-portable-problem-of-netbean-jax-ws-libraries-for-web-service-clients/
J'ai changé le
classname="com.sun.tools.ws.ant.WsImport"
àclassname="com.sun.tools.ws.WsImport"
qui a résolu ce problème pour moi.J'ai trouvé une réponse qui ne me satisfait pas du tout:
Installé netbeans qui prend soin de joindre des choses ensemble. Encore la ligne de commande ne fonctionne pas (ce qui signifie qu'il est compartimentée de l'environnement qui est bonne). Je peux suivre le tutoriel, mais je continue de croire que tout doit être fait à partir de la ligne de commande (il y a trop de Unix dans mon alimentation?)
Mieux encore, vous pouvez utiliser la ligne de commande de l'outil wsimport pour générer le pot ou les fichiers
générer les fichiers dans la build/classes de dossier, vous pouvez alors faire référence à partir de là avec ant javac
De sortir de cette erreur, nous avons besoin d'utiliser des Outils->Options, cliquez sur l'onglet Divers, et dans la Fourmi onglet Add Jar/ZIP à localiser et à ajouter les bibliothèques webservices-tools.jar et webservices-rt.jar dans le répertoire
Si vous utilisez Eclipse IDE et face à cette problématique, ici est quelque chose qui a fonctionné pour moi.
Aller à : Window > Préférences.
Trouver la Fourmi option sur le côté gauche.
Développez-le et vous trouverez ANT de l'Exécution. Sélectionnez cette option et vérifier les pots inclus dans le Classpath de l'onglet.
Sélectionnez Add External Jar de l'option. Maintenant, allez à la fourmi dossier d'accueil dans votre système. Accédez au dossier lib et ajoutez tous les pots /manquant fichiers jar.
cela permettra de résoudre la dépendance manquante pour ant-construction.
Espère Que Ça Aide!