à l'aide de xjc avec ant
Je suis en train d'utiliser xjc compilateur de fourmi. Construit avec succès, mais rien n'est généré.
Mon script ant est comme suit:
<?xml version="1.0" encoding="UTF-8"?>
<project name="AutomateWithAnt" basedir=".">
<property file="build.properties"/>
<path id="compile.classpath">
<fileset dir="${lib.includes}" includes="*.jar"></fileset>
</path>
<target name="init" description="create java class">
</target>
<taskdef name="xjc" classname="com.sun.tools.xjc.XJCTask" classpathref="compile.classpath"/>
<!-- Generates the source code from the test.xsd schema using jaxb -->
<target name="option-generate" description="Generates the source code" depends="init">
<xjc schema="test.xsd" destdir="${generated-src.dir}" package="${generated-src.dir}">
<arg value="-Xcommons-lang" />
<arg value="-Xcommons-lang:ToStringStyle=SHORT_PREFIX_STYLE" />
<produces dir="${generated-src.dir}" includes="**/*.java" />
</xjc>
</target>
</project>
mon build.propriétés:
lib.includes=lib/
generated-src.dir=/
J'utilise la version 1.6 de java, et j'ai utilisé jaxb-sjc.jar.
- Êtes-vous sûr que votre
xjc
tâche est invoquée? Ajouter<echo>
à votre tâche. Ou appelez votre fourmiant xjc
? - Ouais vous avez raison, il n'est pas appelé. Pouvez-vous s'il vous plaît dites-moi ce que je fais de mal?
Vous devez vous connecter pour publier un commentaire.
Vous avez défini 2 Ant cibles (
init
etoption-generate
), mais aucun des deux ne sera invoquée, sauf si vous spécifiez un pour courir.Vous devez le spécifier sur la ligne de commande, par exemple
ou ajouter une cible par défaut pour le
<project>
élément, par exemplePar ailleurs, votre
init
cible est vide, et donc inutile.