¿Cómo instalo el antlib.xml para que scala funcione correctamente?configurar hormiga para scala
En este momento me aparece el siguiente error cuando ejecuto ant
en un archivo build.xml que contiene tareas scala.
[taskdef] Could not load definitions from resource scala/tools/ant/antlib.xml. It could not be found.
/scalala/scalala-read-only/scalala/build.xml:36: Problem: failed to create task or type scalac
Cause: The name is undefined.
Action: Check the spelling.
Action: Check that any custom tasks/types have been declared.
Action: Check that any <presetdef>/<macrodef> declarations have taken place.
He unjarred la scala-2.8.1.final/lib/scala-compiler.jar
pero no sé dónde poner el contenido.
Aquí está el correspondiente fragmento de código de la hormiga build.xml:
<target name="compile" depends="">
<mkdir dir="${build.dir}"/>
<scalac srcdir="${src.dir}" destdir="${build.dir}"
classpathref="project.classpath" force="changed">
<!-- addparams="-Yclosure-elim -optimise" -->
<include name="**/*.scala"/>
</scalac>
</target>
respuesta
El siguiente código es importante tener en su archivo build.xml:
<!-- Define project CLASSPATH. -->
<path id="project.classpath">
<pathelement location="${build.dir}" />
<fileset dir="${env.SCALA_HOME}/lib/"> <include name="*.jar" /> </fileset>
<fileset dir="${lib.dir}"> <include name="*.jar" /> </fileset>
</path>
<!-- Define scala compiler, scaladoc, etc command -->
<taskdef resource="scala/tools/ant/antlib.xml">
<classpath>
<pathelement location="${env.SCALA_HOME}/lib/scala-compiler.jar" />
<pathelement location="${env.SCALA_HOME}/lib/scala-library.jar" />
</classpath>
</taskdef>
Mi problema era que la variable de entorno $SCALA_HOME
(${env.SCALA_HOME}
) estaba apuntando a un error lugar (un nivel demasiado profundo: /usr/local/scala-2.8.1.final/bin/
en lugar de solo /usr/local/scala-2.8.1.final/
, y por lo tanto, el directorio lib
no se pudo encontrar.
Quizás deba publicar el fragmento de código ant correspondiente. Quizás no tengas un typedef para scalac en tu build.xml – Raghuram