加载XSD文件触发FileNotFoundException,已存文件仍报错求助
解决Scala代码中XSD文件找不到的问题
问题情况
执行以下Scala代码时触发文件不存在错误:
val schemaParsed = XSDToSchema.read(Paths.get("/FileStore/tables/file.xsd"))
报错信息:
FileNotFoundException: /FileStore/tables/file.xsd (No such file or directory)
已确认目标.xsd文件存储在/FileStore/tables/目录下。
排查与解决建议
- 核对路径大小写:Linux/Unix类文件系统区分大小写,确保代码里的路径和实际文件路径的大小写完全匹配,比如是否把
file.xsd写成了File.xsd。 - 验证文件真实存在:通过终端或对应环境的文件管理工具确认文件确实存在,比如在Databricks中可以执行
dbutils.fs.ls("/FileStore/tables/")列出目录内容,检查是否有目标文件。 - 适配环境路径格式:如果是在Databricks这类分布式环境,本地路径和DBFS路径存在区别,尝试使用完整DBFS路径格式
dbfs:/FileStore/tables/file.xsd,或通过dbutils.fs.cp命令确保文件同步到代码运行环境可访问的路径。 - 检查文件权限:确认运行代码的进程拥有该文件的读取权限,比如在Linux系统执行
ls -l /FileStore/tables/file.xsd查看权限,必要时执行chmod +r /FileStore/tables/file.xsd调整为可读权限。 - 排查文件命名问题:检查文件是否存在隐藏后缀,比如实际文件名是
file.xsd.txt但系统显示为file.xsd,需查看文件完整名称确认。
内容的提问来源于stack exchange,提问作者Shashank kumar
相关产品推荐
相关产品推荐

