He estado luchando para que Buildr compile mi proyecto Scala 2.8 y esperaba que alguien ya lo haya descubierto.Compilar el código de Scala 2.8.x con Apache Buildr
Actualmente tengo la aplicación HelloWorld de serie con un BuildFile como la siguiente:
ENV['JAVA_HOME'] = 'C:\Program Files (x86)\Java\jdk1.6.0_17'
ENV['SCALA_HOME'] = 'C:\scala-2.8.0.Beta1-RC6'
define "HelloWorld" do
#artifact_ns['Buildr::Compiler::Scalac'].library = '2.8.0'
require 'buildr/scala'
puts Scala.version
end
Cuando corro Buildr me sale el siguiente resultado:
(en C:/Users/Travis/eclipse_ws/HelloWorld, desarrollo)
2.7.5
Edificio HelloWorld
Compilación HelloWorld en C:/Users/Travis/eclipse_ws/HelloWorld/target/classes
Buildr abortado!
← [31mScala compilador estrellado:
# ← [0m
El primer problema es la NoClassDefFoundError - que no puede encontrar la clase principal del compilador de Scala. El segundo problema es que Scala.version está imprimiendo 2.7.5. Esto es incorrecto porque la ruta SCALA_HOME está apuntando a una versión 2.8.
Finalmente, el uso del indicador --trace me muestra que Buildr está generando un comando de scalac algo correcto y cuando ejecuto ese comando manualmente todo se compila. Digo que es algo correcto solo porque algunas entradas de cp están duplicadas. Véase el siguiente:
scalac -classpath C: /scala-2.8.0.Beta1-RC6/lib/scala-library.jar; C: /scala-2.8.0.Beta1-RC6/lib/scala -compiler.jar; C: /scala-2.8.0.Beta1-RC6/lib/scala-library.jar; C: /scala-2.8.0.Beta1-RC6/lib/scala-compiler.jar -sourcepath C:/Users/Travis/eclipse_ws/HelloWorld/src/main/scala -d C:/Users/Travis/eclipse_ws/HelloWorld/target/classes -verbose -g C:/Users/Travis/eclipse_ws/HelloWorld/src/main/scala /hw/HelloWorld.scala
Una cosa más trataba (pero con errores cabo constructor) se ponía lo siguiente (lo cual pensé que no era necesario w/presencia de SCALA_HOME):
#artifact_ns['Buildr::Compiler::Scalac'].library = '2.8.0'
¿Alguna idea?
Aquí está una lista rápida de la información de mi sistema: Win 7 64 bits JDK 6 32 bit puesto a nivel local para Buildr pero JDK 6 64 bits de Ruby 1.8.6 de todo el sistema de 32 bits Buildr 1.3.5 de 32 bits Scala 2.8.0.Beta1-RC6
Una cosa más que estoy pensando hacer es reinstalar mi JDK de 32 bits y sacarlo del directorio con el (x86) en el nombre. He encontrado los tornillos con los archivos de Scala bat, aunque no estoy seguro de si esto es relevante para mis problemas actuales.
¡Gracias de antemano!
No veo los archivos binarios PATH to Scala (scripts, en realidad) configurados. –
Se establece globalmente como una variable del sistema que debería estar disponible dentro de la secuencia de comandos ... Probaré la configuración local en la secuencia de comandos cuando regrese a la computadora de mi casa. ¡Gracias por la rápida respuesta! –
Incluso cuando inserte la siguiente línea en mi archivo de compilación, el problema persiste. ENV ['PATH'] = ENV ['SCALA_HOME'] + '\ bin;' + ENV ['JAVA_HOME'] + '\ bin;' + ENV ['PATH'] –