2010-06-07 5 views
2

Je veux que mon script ant d'exécuter la commandeexecute classe java avec fourmi

java -cp libs/a.jar: libs/b.jar org.stack.class1 --package pName --out nouvelles classes. wsdl

Comment puis-je le faire avec un script Ant? Ce qui suit ne fonctionne pas

<?xml version="1.0" encoding="UTF-8"?> 
<project name="class" default="compile"> 
<target name="compile"> 
    <java classname="org.stack.class1" fork="true"> 
    <classpath> 
     <pathelement location="libs/a.jar"/> 
     <pathelement location="libs/b.jar"/> 

    </classpath> 
    <arg value="--package pName --out classes new.wsdl"/> 

    </java> 
</target> 

Il se plaint que pName --package --out cours new.wsdl est un argument pour java. Cependant, je veux --package pName --out classes new.wsdl être des arguments pour org.stack.class1

+2

comment cela ne fonctionne pas? exception? ne génère pas de classe? Attention? – Bozho

+0

Vous êtes sur la bonne voie. Peut-être avez-vous manqué un alex

Répondre

1

Je pense que le problème est avec votre valeur arg. Selon la documentation here, vous ne spécifiez pas deux arguments de ligne de commande séparée avec

<arg value="--package pName --out classes new.wsdl"/> 

Je voudrais essayer de changer à

<arg line="--package pName --out classes new.wsdl"/> 
+0

a fait le travail. ;-p – cateof

+0

Cela m'a aussi fait dans le passé. – Casey

1

Pour la tâche java, les éléments <arg> prennent un seul jeton chacun. Essayez quelque chose comme ceci

<arg value="--package"/> 
<arg value="pName"/> 
<arg value="--out"/> 
... etc 
0

Le paramètre de valeur de la balise arg ne peut prendre un paramètre. Voir le documentation of the arg tag.

Essayez d'ajouter plusieurs variables d'argument, une pour chaque paramètre.