JDK6でxjc

仕事でJAXBを使いそうなので、ちょっと調べてみました。
JDK6からはJAXBが標準でバンドルされているはずなので、実際にbinディレクトリを覗いてみたら、xjc.exe(※1)がありました。バンドルされているのは間違いなさそうなので、Antから呼べないかと思い、jaxb-xjc.jarを探し始めたのですが、結局見つかりませんでした。ぐぐってみるとどうやらxjc.exeしかないそうで(※2)、仕方がないのでタスクを利用して直接実行してみました。ということで、下記がそのAntの抜粋です。ちなみに、タスクは属性がvalueだと1つしか指定できず、lineだと複数指定が可能だったのを久しぶりに思い出しました(※3)のでついでにメモっておきます。
今日はxjcの実行までとして、明日以降にもう少し調べてみる予定です。

    <property name="schema.dir" value="."/>
    <property name="src.dir" value="src"/>
    <property name="schema" value="NewXMLSchema.xsd"/>
    <property name="package" value="hoge.fuga"/>

    <target name="compile">
        <echo message="Compiling the schema..."/>
        <exec executable="xjc">
            <arg line="-d ${src.dir}"/>
            <arg line="-p ${package}"/>
            <arg line="${schema.dir}/${schema}"/>
        </exec>
    </target>

※1 https://jaxb.dev.java.net/nonav/2.0.2/docs/xjc.html
※2 http://d.hatena.ne.jp/MasaHero/20071002/p2
※3 http://ant.apache.org/manual/using.html#arg