Ho lottato per arrivare Buildr per compilare il mio progetto Scala 2.8 e speravo che qualcuno potrebbe aver già capito questo.Compilare Scala codice 2.8.x con Apache Buildr
Attualmente ho l'applicazione HelloWorld standard con un BuildFile come la seguente:
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
Quando eseguo Buildr ottengo il seguente output:
(in C:/Users/Travis/eclipse_ws/HelloWorld, sviluppo)
2.7.5
costruzione HelloWorld
Compilazione HelloWorld in C:/Users/Travis/eclipse_ws/helloworld/target/classi
Buildr abortito!
← [31mScala compilatore si è schiantato:
# ← [0m
Il primo problema è la NoClassDefFoundError - non può trovare la classe principale del compilatore Scala. Il secondo problema è che Scala.version sta stampando 2.7.5. Questo non è corretto perché il percorso SCALA_HOME punta a una versione 2.8.
Infine, utilizzando il flag --trace mi dimostra che Buildr sta generando un comando alquanto corretta scalac e quando si esegue il comando manualmente tutto viene compilato. Dico che è alquanto corretto solo perché alcune voci cp sono duplicate. Vedere il seguente:
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:/Utenti/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
Un'altra cosa che ho provato (ma con errori fuori costruttore) tramontava il seguente (che ho pensato che non era richiesto w/la presenza di SCALA_HOME):
#artifact_ns['Buildr::Compiler::Scalac'].library = '2.8.0'
Così tutte le idee?
ecco un breve elenco di mia informazioni di sistema: Win 7 64 bit JDK 6 a 32 bit impostato a livello locale per Buildr ma JDK 6 a 64 bit Rubino 1.8.6 livello di sistema a 32 bit Buildr 1.3.5 a 32 bit Scala 2.8.0.Beta1-RC6
Un'altra cosa che sto pensando di fare è reinstallare il mio JDK a 32 bit e farlo uscire dalla directory con (x86) nel nome. Ho trovato che le viti con i file di bat Scala, anche se non sono sicuro se questo è rilevante per i miei problemi attuali.
Grazie in anticipo!
Non vedo il PERCORSO sui binari di Scala (gli script, in realtà) sono impostati. –
È impostato globalmente come variabile di sistema che dovrebbe essere disponibile all'interno dello script ... Verificherò l'impostazione localmente nello script quando torno al mio computer di casa. Grazie per la risposta rapida! –
Anche quando inserisco la seguente riga nel mio file di build, il problema esiste ancora. ENV ['PATH'] = ENV ['SCALA_HOME'] + '\ bin;' + ENV ['JAVA_HOME'] + '\ bin;' + ENV ['PATH'] –