1、Windows安装Scala或者Spark后,测试安装成功与否时 cmd中出现以下问题:
1 Failed to initialize compiler: object java.lang.Object in compiler mirror not found. 2 ** Note that as of 2.8 scala does not assume use of the java classpath. 3 ** For the old behavior pass -usejavacp to scala, or if using a Settings 4 ** object programmatically, settings.usejavacp.value = true.
直接原因:这是与jdk版本冲突引起的,应该是jdk版本太高导致的。
解决方案:
如果是安装Scala出现此情况,降低一下jdk版本,或者提高一下scala版本
如果是安装Spark出现此情况,是不是你自己的jdk版本过高?,降低一下jdk版本
因为scala使用的是jvm,spark由scala写的,不同版本其预写的jdk版本不一致,,尽量选择对应版本
eg.在windows上安装spark2.3.4,对应1.8JDK,scala2.12.5或2.11.8都行,2.7.7版本HADOOP
下表是官网上的JDK与scala的版本兼容性表:
Version compatibility table
JDK version | Minimum Scala versions | Recommended Scala versions |
---|---|---|
17 | 2.13.6, 2.12.15 (forthcoming) | 2.13.6, 2.12.15 (forthcoming) |
16 | 2.13.5, 2.12.14 | 2.13.6, 2.12.14 |
13, 14, 15 | 2.13.2, 2.12.11 | 2.13.6, 2.12.14 |
12 | 2.13.1, 2.12.9 | 2.13.6, 2.12.14 |
11 | 2.13.0, 2.12.4, 2.11.12 | 2.13.6, 2.12.14, 2.11.12 |
8 | 2.13.0, 2.12.0, 2.11.0, 2.10.2 | 2.13.6, 2.12.14, 2.11.12, 2.10.7 |
6, 7 | 2.11.0, 2.10.0 | 2.11.12, 2.10.7 |
2、Error:scalac: Error: Error compiling the sbt component 'compiler-interface-2.11.8-55.0'
sbt.internal.inc.CompileFailed: Error compiling the sbt component 'compiler-interface-2.11.8-55.0'
原因:jdk版本-11与scala版本-2-11.8冲突
解决方案:(1)升级scala版本到12。
(2)降低jdk版本到1.8。