Windows10配置Java后运行Spark报Common was unexpected at this time怎么办
问题原因说明
这个\Common was unexpected at this time.报错是Windows批处理解析环境变量时,遇到带空格/特殊括号的未闭合路径导致的,核心是你系统里残留的Oracle公共Java路径优先级高于你迁移后的JDK路径,且路径包含空格和括号触发解析失败。
解决步骤
第一步:调整PATH中Java路径的优先级
- 按下
Win+R输入sysdm.cpl回车,依次打开系统属性→高级→环境变量 - 在「系统变量」区域找到
Path变量点击编辑 - 找到
C:\Program Files (x86)\Common Files\Oracle\Java\javapath这一项,直接删除;同时选中你自己配置的%JAVA_HOME%\bin、%JAVA_HOME%\jre\bin两项,点击「上移」移动到PATH列表的最顶端 - 所有修改窗口都点击确定保存,不要直接关闭
- 按下
第二步:校验JAVA_HOME配置正确性
- 确认系统变量里的
JAVA_HOME值为C:\Java\jdk1.8.0_301(注意你原路径中写的jdk.1.8.0_301多了一个前置点,如果是实际配置时的手误需要删掉) - 确认
JAVA_HOME路径末尾不要加反斜杠,不要写成C:\Java\jdk1.8.0_301\ - 新增系统变量
CLASSPATH,值为.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
- 确认系统变量里的
第三步:验证配置生效
- 打开新的cmd窗口(不要使用修改前打开的旧cmd,环境变量不会自动刷新)
- 依次执行以下命令,确认输出符合预期:
echo %JAVA_HOME%:输出应为C:\Java\jdk1.8.0_301java -version:输出1.8.0_301对应版本信息,无报错javac -version:输出和上面一致的版本号,确认JDK生效
- 如果还有报错,执行
where java,确认输出第一条是你C:\Java\jdk1.8.0_301\bin\java.exe,如果还有其他路径返回,按第一步操作删除PATH里对应的其他Java路径即可
第四步:Spark适配校验
确认Java配置无误后,配置
SPARK_HOME环境变量指向你的Spark解压目录,再把%SPARK_HOME%\bin加到PATH里,打开新cmd执行spark-shell即可正常启动。
额外排查点
如果修改完还是报错,检查PATH里有没有其他带空格和括号的路径,比如其他安装在
Program Files或Program Files (x86)下的工具路径,也可能触发相同的批处理解析错误,把这些路径移动到PATH列表的Java相关路径之后即可。
内容的提问来源于stack exchange,提问作者grace0726
相关产品推荐
相关产品推荐

