Scala程序需要JDK / open JDK作为先决条件或JRE就足够了吗?

时间:2015-01-09 06:11:44

标签: java scala jvm

Scala编译器生成类似Java编译器的字节代码,可以在依赖于平台的JVM上运行吗?那么为什么我们需要完整的JDK作为先决条件?是否在scala中包含少量Java项目并进行调试?请提供一些见解。

2 个答案:

答案 0 :(得分:3)

我刚刚在sbt和JRE但没有JDK的系统上测试了这个声明。编译工作正常:不需要JDK。如果您要签署.jar文件或做其他模糊的事情,您将需要它用于jarsigner。

答案 1 :(得分:2)

来自官方消息来源:https://wiki.scala-lang.org/display/SYGN/General+FAQs

  

我应该使用什么JRE来运行Scala?

     

任何支持Java 1.4或5.0或6.0字节代码的JRE都应该有效。我们   定期测试Scala:

     
      
  • 适用于Java 1.4.2的Sun HotSpot JRE,适用于Linux / x86和Windows
  •   
  • 适用于Java 5.0的Sun HotSpot JRE,适用于Linux / x86,Windows,Mac OS X / x86和Mac OS X / PPC(虽然在Apple的Mac OS X上正常运行   英特尔,Mac OS X PowerPC JVM仅在解释时支持Scala   模式。不支持JIT(混合)模式。运行java -Xint   停用JIT。解释执行速度比JIT慢10倍   执行。)
  •   
  • 适用于Java 6.0的Sun HotSpot JRE,适用于Linux / x86,Windows和Mac OS X / x86
  •   
  • 适用于Linux / x86上的Java 5.0的IBM J9 JRE 2.3
  •   
  • 适用于Linux / x86上的Java 6.0的IBM J9 JRE 2.4。 HotSpot 1.6是我们用于Scala的标准JRE,应该是最稳定的。我们   然而,在Linux上观察到了显着的速度改进   使用J9。
  •   

简而言之,JRE就足够了 - 不需要完整的JDK。

请注意,您确实需要JDK进行开发(即将Scala代码编译为Java字节码)。