2010-12-31 7 views
4

Brennen der SBT-Konsole bis es heißt:Wie ändere ich die Scala-Version, mit der sbt arbeitet?

[info] Building project AYLIEN 1.0 against Scala 2.8.1 
[info] using MyProject with sbt 0.7.4 and Scala 2.7.7 

Wie kann ich es machen MyProject mit 2.8.1 0.7.4 und Scala sbt verwenden? Bitte beachte, dass ich nicht nach der Scala-Version frage, die zum Erstellen meines Projekts verwendet wird (es ist die 2.8.1, wie du sehen kannst), aber ich möchte lieber sbt mein Projekt mit Scala 2.8.1 benutzen. Anscheinend verwendet sbt seine eigene scala-Version, um mit der Projektdefinition (MyProject here) zu arbeiten, die sich von der Projektdefinition unterscheidet. oder vielleicht vermisse ich etwas ...?

+1

Sie haben Recht. Aber welchen Unterschied macht es, auf welcher Version es läuft? – pedrofurla

+0

Sie haben Recht. Ich hatte irrtümlich den Eindruck, dass einige Probleme in diesem sbt/scala-Konvertierungs-Ding wurzelten, aber ich lag falsch. –

Antwort

6

SBT 0.7. * Funktioniert nicht mit Scala 2.8. * für Ihre Projektdefinition. Mark Harrah arbeitet derzeit an der nächsten Version von SBT, die wird arbeiten mit 2,8. *. Das bedeutet, dass Sie keine Scala-Funktionen oder -Funktionen verwenden können, die nach Scala 2.7.7 in Ihrer Projektdefinition oder Ihren Plugins hinzugefügt wurden. Ihr Projekt selbst ist frei, 2.8. * Zu verwenden.

+0

Ich habe sbt 0.7.4 benutzt, um heute Morgen ein scala 2.8.1 Projekt zu kompilieren. sbt verwendet 2.7.x, um sbt auszuführen, aber es kann gegen 2.8.x kompilieren, nur gut, siehe olle kullbergs Antwort auf das How-To. –

+0

Entschuldigung, ich hätte klarer sein sollen - der Schlüsselsatz in meiner Antwort ist "für Ihre Projektdefinition". Ihr Projekt kann Scala 2.8 * verwenden. Sie können jedoch keine Scala-Funktionen verwenden, die in der eigentlichen Projektdefinition (d. H. Ihre Project.scala oder Plug-ins usw.) nach 2.7.7 hinzugefügt wurden. –

+0

Ich habe meine Antwort bearbeitet, um sie klarer zu machen. –

7

Ich kann Ihre Bedenken bezüglich SBT sehen, die intern 2.7.7 verwenden, aber es spielt keine Rolle, da SBT diese Version selbstständig herunterlädt. Sie müssen 2.7.7 oder nichts installieren, vergessen Sie es einfach und tun Sie so, als wäre Ihre Umgebung eine reine Scala 2.8.

Die Konfigurationsdatei, die die SBT-Versionseinstellung enthält, lautet: project/build.properties. Der Inhalt sieht wie folgt aus:

project.organization=com.ab.web 
project.name=cool_proj 
sbt.version=0.7.4 
project.version=1.0 
build.scala.versions=2.8.0 
project.initialize=false 

Wenn Sie auf die nächste Version SBT bewegen wollen, nur 0.7.4 auf diese Version ändern und SBT wird selbst aktualisieren. Irgendwann wird SBT eine andere Scala-Version intern verwenden, aber das wird dem Benutzer egal sein.

Verwandte Themen