Java 将xjc与ant结合使用

Java 将xjc与ant结合使用,java,jaxb,xjc,Java,Jaxb,Xjc,我正在尝试使用ant的xjc编译器。成功构建,但未生成任何内容。 我的ant脚本如下: <?xml version="1.0" encoding="UTF-8"?> <project name="AutomateWithAnt" basedir="."> <property file="build.properties"/> <path id="compile.classpath"> <fileset dir="$

我正在尝试使用ant的xjc编译器。成功构建,但未生成任何内容。 我的ant脚本如下:

<?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>

我使用的是Java1.6,我使用的是jaxb sjc.jar。

您已经定义了两个Ant目标init和option generate,但是除非您指定运行哪一个,否则都不会调用它们

您需要在命令行上指定它,例如

ant option-generate
或者向元素添加默认目标,例如

<project name="AutomateWithAnt" basedir="." default="option-generate">

顺便说一句,您的init目标是空的,因此毫无意义。

您已经定义了两个Ant目标init和option generate,但是除非您指定运行哪一个,否则它们都不会被调用

您需要在命令行上指定它,例如

ant option-generate
或者向元素添加默认目标,例如

<project name="AutomateWithAnt" basedir="." default="option-generate">

顺便说一句,您的init目标是空的,因此毫无意义。

您确定正在调用您的xjc任务吗?添加到您的任务中。或者你调用你的ant作为ant xjc?是的,你是对的,它没有被调用。你能告诉我我做错了什么吗?你确定你的xjc任务正在被调用吗?添加到您的任务中。或者你调用你的ant作为ant xjc?是的,你是对的,它没有被调用。你能告诉我我做错了什么吗?