2012-01-28 24 views
1

antからxjcコンパイラを使用しようとしています。正常に構築されますが、何も生成されません。 次のように私のAntスクリプトは次のとおりです。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を使用していました。

+0

'xjc'タスクが呼び出されていますか?あなたの仕事に ''を加えてください。あるいは、あなたのアリを 'ant xjc'と呼んでいますか? –

+0

あなたは正しいと言われています。私が間違っていることを教えてもらえますか? – user122591

答えて

3

2つのAntターゲット(initおよびoption-generate)を定義しましたが、どちらを実行するか指定しない限り、どちらも呼び出されません。

コマンドラインで指定する必要があります。

ant option-generate 

又は例えば、<project>要素にデフォルトのターゲットを追加

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

なお、initのターゲットは空であり、無意味です。

関連する問題