1. 常见的class not found 就是class path路径下找不到对应的class 文件。
2. jdk 版本不对
下面看一个楼主遇到的具体案例:
把对应spark 启动shell 脚本最重执行的命令打印出来
java -cp /home/hadoop/spark-1.5.1-bin-hadoop1/lib/spark-assembly-1.5.1-hadoop1.2.1.jar org.apache.spark.launcher.Main org.apache.spark.deploy.master.Master --ip hadoop01 --port 7077 --webui-port 8080
接着检查jar 包否真正却少这个class:
发现jar 包内包含这个class,结合启动脚本最重执行的命令来看,不是jar 包没在class path的问题。
接着看下 具体class对应的jdk版本:
问题很明显,编译target jdk版本指定的是1.7 而运行环境jar 版本是1.6,更换jdk即可。
class not found 问题排查思路分享给大家。