Ant çalışanı almak için antlib.xml scala'yı nasıl yüklerim?scala için anticeyi yapılandır
Şu anda scala görevlerini içeren bir build.xml dosyasında ant
çalıştırdığımda aşağıdaki hatayı yaşıyorum.
[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.
Ben scala-2.8.1.final/lib/scala-compiler.jar
unjarred ama ben içeriğini koymak için nerede bilmiyorum.
<!-- 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>
:
Aşağıdaki kod Build.xml dosyasında olması önemlidir
<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>
Cevap: İşte
build.xml karşılık gelen karınca kod parçacığı olduğunu
Sorunum, $SCALA_HOME
ortam değişkeninin (${env.SCALA_HOME}
) yanlış olduğunu gösteriyordu (bir seviye çok derin: /usr/local/scala-2.8.1.final/bin/
yerine sadece /usr/local/scala-2.8.1.final/
) ve bu nedenle lib
dizini bulunamadı.
Belki de ilgili karınca kod snippet'ini göndermelisiniz. Belki de build.xml – Raghuram