2011-05-25 79 views
64

这不是关于命令行编译器选项。如何以编程方式获得代码内的Scala版本?如何从Scala内部获得Scala版本?

或者,Eclipse Scala插件v2在哪里存储路径scalac

+1

Eclipse的Scala IDE不存储'scalac'的路径;它使用Eclipse JVM直接从内部调用编译器类。 – 2011-05-25 08:19:53

+2

@ Jean-Philippe Pellet谢谢,顺便说一句,我发现'scala.sys.props'参考了像'sun.boot.class.path - > F:\ eclipse \ configuration \ org之类的scala库.eclipse.osgi \ bundles \ 316 \ 1 \ .cp \ lib \ scala-library.jar;(用'jar'包含'version.number = 2.9.0.final'的'library.proerties')。但是自从'2.9.0'之后''scala.sys.props'就存在了,只是它本身就是一个暗示:) – mlvljr 2011-05-25 09:07:49

+0

该死的,有人请把它变成维基! :) – mlvljr 2014-05-13 13:57:13

回答

93

这将无法获得工作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

我不得不添加scala,因为spark库首先被加载,所以'scala.util.Properties.versionString' – 2017-02-23 23:33:19

+0

它不适用于Scala.js – 2018-01-30 05:56:24

14

你可以得到的Scala版本是这样的:

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

我不知道该插件的具体细节,但。

+0

这是从翻译,是不是?不过谢谢。 – mlvljr 2011-05-25 09:01:54

+0

我想你可以在任何地方使用'scala.tools.nsc.Properties.versionString'。 – HairyFotr 2011-05-25 09:03:08

+0

关于'import scala.tools.nsc.Properties;'我说的“对象工具不是包***。scala的成员”:( – mlvljr 2011-05-25 09:12:16

34

有三种方法来获得斯卡拉版 -

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

第一个是最好的这个页面,貌似:) – mlvljr 2014-11-23 07:30:16

+1

FYI'util.Properties.versionNumberString'只存在自scala 2.10.x以来。对于2.10.x以下的scala,您可以使用util.Properties.releaseVersion.getOrElse(“未知版本”)来获取版本号字符串。 – jordom 2015-02-28 20:38:58

8

我们还可以得到安装斯卡拉版本

  1. 开放命令提示符
  2. type Scala
  3. 你会得到下面的输出:

欢迎斯卡拉版本2.10.3(Java的热点(TM)64位服务器VM,Java的1.8.0_6 0)。 输入表达式来评估它们。 类型:help获取更多信息。