Wie bekomme ich die Scala-Version von Scala selbst?


91

Hier geht es nicht um Befehlszeilen-Compileroptionen. Wie erhalte ich programmgesteuert die Scala-Version im Code?

Wohin speichert das Eclipse Scala-Plugin v2 alternativ den Pfad zu scalac?


1
Die Scala-IDE für Eclipse speichert keinen Pfad zu scalac; Es ruft die Compiler-Klassen direkt von innen mit Eclipse JVM auf.
Jean-Philippe Pellet

2
@ Jean-Philippe Pellet Danke, übrigens, ich habe festgestellt, dass scala.sys.propsVerweise auf scheinbar Scala-Bibliotheken unter so etwas wie sun.boot.class.path -> F:\eclipse\configuration\org.eclipse.osgi\bundles\316\1\.cp\lib\scala-library.jar;(mit jar's library.proertiesenthalten version.number=2.9.0.final). Aber da scala.sys.propsist da 2.9.0drin, da es nur so ziemlich ein Hinweis selbst ist :)
mlvljr

Verdammt, jemand, bitte mach das zu einem Wiki! :)
mlvljr

..heck, dies wird dieses Jahr 100 positive Stimmen bekommen, wahrscheinlich lasst uns weiter pushen, Leute (wer hätte gewusst, dass Scala so verworren ist, dass selbst Dinge, die so einfach sind, dich verwirren könnten).
mlvljr

Antworten:


123

Dies funktioniert ohne Zugriff auf scala-compiler.jar:

Welcome to Scala version 2.9.1.final (Java HotSpot(TM) 64-Bit Server VM, Java 1.6.0_26).
Type in expressions to have them evaluated.
Type :help for more information.

scala> util.Properties.versionString
res0: java.lang.String = version 2.9.1.final

3
Ich musste Scala hinzufügen, da zuerst Spark-Bibliotheken geladen wurden. Alsoscala.util.Properties.versionString
Francisco López-Sancho

47

Es gibt drei Möglichkeiten, um die Scala-Version zu erhalten:

scala> util.Properties.versionNumberString
res103: String = 2.11.4

scala> util.Properties.versionString
res104: String = version 2.11.4

scala> util.Properties.versionMsg
res105: String = Scala library version 2.11.4 -- Copyright 2002-2013, LAMP/EPFL

2
Der erste ist anscheinend der schönste auf dieser Seite :)
mlvljr

1
Zu util.Properties.versionNumberStringIhrer Information gibt es erst seit Scala 2.10.x. Für Scala unter 2.10.x können Sie die util.Properties.releaseVersion.getOrElse("unknown version")Versionsnummer abrufen .
Jordan

15

Sie können die Scala-Version wie folgt erhalten:

scala> scala.tools.nsc.Properties.versionString
res7: java.lang.String = version 2.9.0.final

Ich kenne die Besonderheiten des Plugins jedoch nicht.


Ich denke, Sie können das scala.tools.nsc.Properties.versionStringüberall verwenden.
HairyFotr

Auf import scala.tools.nsc.Properties;meiner steht "Objektwerkzeuge sind kein Mitglied des Pakets ***. Scala" :(
mlvljr

7
scala.tools...ist nur verfügbar, wenn sich das scala-compiler.jarim Klassenpfad befindet.
michael.kebe

9

Wir können auch die Scala-Version installieren lassen

  1. Öffnen Sie die Eingabeaufforderung
  2. Typ Scala
  3. Sie erhalten folgende Ausgabe:

Willkommen bei Scala Version 2.10.3 (Java HotSpot (TM) 64-Bit-Server-VM, Java 1.8.0_6 0). Geben Sie Ausdrücke ein, um sie auswerten zu lassen. Typ: Hilfe für weitere Informationen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.