试图按照http://dblab.xmu.edu.cn/blog/971-2/里面的教程编译Scala代码时,出现报错:
hadoop@ubun:/usr/local/spark/code/wjw/wordcount$ scala test.scala
error: Compile server encountered fatal condition: java.nio.ByteBuffer.clear()Ljava/nio/ByteBuffer;
java.lang.NoSuchMethodError: java.nio.ByteBuffer.clear()Ljava/nio/ByteBuffer;
Scala版本是, 2.11.12
进入Scala看一下,
java是8,scala官网显示2.11.12应该使用java9或者10,那就修改环境变量。
打开 ~/.bashrc 修改一下java的环境变量,改为
JAVA_PATH=/usr/lib/jvm/java-11-openjdk-amd64
记得“source ~/.bashrc”否则不会生效,再打开Scala看看
已经变成java10了
再运行一下
hadoop@ubun:/usr/local/spark/code/wjw/wordcount$ scala test.scala
报错
error: Compile server encountered fatal condition: javax/tools/DiagnosticListener
java.lang.ClassNotFoundException: javax.tools.DiagnosticListener
先用scalac编译一下试试
hadoop@ubun:/usr/local/spark/code/wjw/wordcount$ scalac test.scala
再运行一下对象
hadoop@ubun:/usr/local/spark/code/wjw/wordcount$ scala -classpath . HelloWorld
Hello, wjw, good luck!
OK,成功
一定要注意大小写,不然会报错
No such file or class on classpath: Helloworld