Речь идет не о параметрах компилятора командной строки. Как программно получить версию Scala внутри кода?
В качестве альтернативы, где плагин Eclipse Scala v2 хранит путь к нему scalac
?
Речь идет не о параметрах компилятора командной строки. Как программно получить версию Scala внутри кода?
В качестве альтернативы, где плагин Eclipse Scala v2 хранит путь к нему scalac
?
scala.sys.props
ссылки на то, что кажется библиотеками scala, находятся под чем-то вроде sun.boot.class.path -> F:\eclipse\configuration\org.eclipse.osgi\bundles\316\1\.cp\lib\scala-library.jar;
(with jar
's library.proerties
contains version.number=2.9.0.final
). Но так scala.sys.props
как там есть, потому 2.9.0
что это лишь намек :)
Ответы:
Это будет работать без доступа к 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
scala.util.Properties.versionString
Есть три способа получить версию 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
util.Properties.versionNumberString
существует только с scala 2.10.x. Для scala ниже 2.10.x вы можете использовать util.Properties.releaseVersion.getOrElse("unknown version")
строку с номером версии.
Вы можете получить версию Scala так:
scala> scala.tools.nsc.Properties.versionString
res7: java.lang.String = version 2.9.0.final
Однако я не знаю специфики плагина.
scala.tools.nsc.Properties.versionString
где угодно.
import scala.tools.nsc.Properties;
моем говорит "объектные инструменты не являются членом пакета ***. Scala" :(
scala.tools...
доступен только в том случае, если scala-compiler.jar
находится в пути к классам.
Мы также можем получить установленную версию Scala
Добро пожаловать в Scala версии 2.10.3 (64-разрядная серверная виртуальная машина Java HotSpot (TM), Java 1.8.0_6 0). Введите выражения, чтобы они оценивались. Введите: help для получения дополнительной информации.
scalac
; он вызывает классы компилятора непосредственно изнутри с помощью Eclipse JVM.