es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Transformación de formulación “Ant” de tarea definida en problema de ejecución.

Debido al mismo problema que esta pregunta, tengo que transformar esto:

<target name="generateStubs" depends="init">

<echo message="Generation des stubs depuis project-model"></echo>

<taskdef name="xjc" classname="com.sun.tools.xjc.XJCTask">
    <classpath>
        <fileset dir="../src/lib/" includes="*.jar"></fileset>
    </classpath>
</taskdef>

<xjc destdir="${generated.sources.path}">
    <schema dir="../project-model/src/main/resources/xsd/" includes="*.xsd"></schema>
    <produces dir="${generated.sources.path}" includes="**/*"></produces>
</xjc>            

usando esta formulación:

<exec executable="xjc">
    <arg value="-d"></arg>
    <arg value="../src/lib/"></arg>
    <arg value="-p"></arg>
    <arg value="bla.bla.bla"></arg>
    <arg value="${xjc.in.dir}/bla.xsd"></arg>
</exec>

He intentado algunas cosas, pero no puedo resolverlo, ¿alguna idea?

Tags:  ,

Answer

  1. Avatar for davy.ai

    Para transformar el bloque de código original en el nuevo formato usando <exec>:

    <exec executable="xjc">
        <arg value="-d"></arg>
        <arg value="../src/lib/"></arg>
        <arg value="-p"></arg>
        <arg value="bla.bla.bla"></arg>
        <arg value="${xjc.in.dir}/bla.xsd"></arg>
    </exec>
    

    Necesitamos reemplazar el target y taskdef originales con una sola tarea exec que incluya todos los argumentos necesarios. El código resultante se vería algo así:

    <exec executable="xjc">
        <arg value="-d"></arg>
        <arg value="${generated.sources.path}"></arg>
        <arg value="-p"></arg>
        <arg value="bla.bla.bla"></arg>
        <arg value="--schema-directory"></arg>
        <arg value="../project-model/src/main/resources/xsd/"></arg>
    </exec>
    

    Aquí estamos pasando los mismos argumentos -d y -p que antes, pero usando ${generated.sources.path} y bla.bla.bla como valores. También estamos usando --schema-directory para especificar el directorio que contiene los archivos XSD, y proporcionando la ruta al directorio con ../project-model/src/main/resources/xsd/.

    Ten en cuenta que esto es solo un ejemplo y es posible que debas ajustar los argumentos de la línea de comandos para que se adapten a tus necesidades específicas.

Comments are closed.