【问题标题】:using xjc with ant将 xjc 与 ant 一起使用
【发布时间】:2012-01-29 21:12:32
【问题描述】:

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

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

我的 build.properties 是:

lib.includes=lib/
generated-src.dir=/

我使用的是 java 1.6,并且我使用了 jaxb-sjc.jar。

【问题讨论】:

  • 您确定您的xjc 任务正在被调用吗?将&lt;echo&gt; 添加到您的任务中。或者你调用你的蚂蚁ant xjc?
  • 是的,你是对的,它没有被调用。你能告诉我我做错了什么吗?

标签: java jaxb xjc


【解决方案1】:

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

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

ant option-generate

或向&lt;project&gt; 元素添加默认目标,例如

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

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

【讨论】:

    猜你喜欢
    • 2013-07-12
    • 1970-01-01
    • 2017-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-23
    • 1970-01-01
    相关资源
    最近更新 更多