Как да получа версията на Scala от самата Scala?

Тук не става въпрос за опциите на компилатора на командния ред. Как да получа програмно версията на Scala в кода?

Като алтернатива, къде приставката за Eclipse Scala v2 съхранява пътя до scalac?


person mlvljr    schedule 25.05.2011    source източник
comment
Scala IDE за Eclipse не съхранява път до scalac; той извиква класовете на компилатора директно отвътре с Eclipse JVM.   -  person Jean-Philippe Pellet    schedule 25.05.2011
comment
@Jean-Philippe Pellet Благодаря, между другото, открих, че scala.sys.props препраща към това, което изглежда е scala библиотеки под нещо като sun.boot.class.path -> F:\eclipse\configuration\org.eclipse.osgi\bundles\316\1\.cp\lib\scala-library.jar;library.proerties на jar, съдържащо version.number=2.9.0.final). Но тъй като scala.sys.props е там от 2.9.0, само по себе си е намек :)   -  person mlvljr    schedule 25.05.2011
comment
По дяволите, някой, моля, направете това уики! :)   -  person mlvljr    schedule 13.05.2014
comment
..по дяволите, това вероятно ще получи 100 гласа за тази година, нека продължим да настояваме, хора (кой би знаел, че Scala е толкова сложна, че дори толкова прости неща могат да ви озадачат).   -  person mlvljr    schedule 28.05.2020


Отговори (4)


Това ще работи без достъп до 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
person Paul Butcher    schedule 20.10.2011
comment
Трябваше да добавя scala, тъй като първо бяха заредени библиотеките на искри. Така че scala.util.Properties.versionString - person Francisco López-Sancho; 24.02.2017

Има три начина да получите версията на Scala -

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
person Naga Vijayapuram    schedule 23.11.2014
comment
Първият е най-хубав от всички на тази страница, изглежда :) - person mlvljr; 23.11.2014
comment
FYI util.Properties.versionNumberString съществува само от scala 2.10.x. За scala под 2.10.x можете да използвате util.Properties.releaseVersion.getOrElse("unknown version"), за да получите низ с номера на версията. - person jordom; 28.02.2015

Можете да получите версията на Scala по следния начин:

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

Не знам обаче спецификата на плъгина.

person HairyFotr    schedule 25.05.2011
comment
Мисля, че можете да използвате scala.tools.nsc.Properties.versionString навсякъде. - person HairyFotr; 25.05.2011
comment
На import scala.tools.nsc.Properties; моят казва, че обектните инструменти не са член на пакет ***.scala :( - person mlvljr; 25.05.2011
comment
scala.tools... е наличен само ако scala-compiler.jar е в пътя на класа. - person michael.kebe; 25.05.2011

Можем да получим и инсталирана версия на Scala

  1. Отворете командния ред
  2. тип Scala
  3. Ще получите следния изход:

Добре дошли в Scala версия 2.10.3 (Java HotSpot(TM) 64-битов сървър VM, Java 1.8.0_6 0). Въведете изрази, за да бъдат оценени. Напишете :help за повече информация.

person Chinya    schedule 16.09.2015