Spark 3.2中org.apache.http.client.utils.URIBuilder导入失败求助
解决Spark 3.2中
org.apache.http.client包找不到的问题 问题原因
Spark 3.2版本调整了默认依赖的Apache HttpClient包结构,原本在Spark 3.1中默认包含的httpclient模块,在3.2里不再作为默认依赖提供,导致编译或运行时找不到org.apache.http.client相关类。
解决方案
项目依赖中显式引入httpclient包
如果是用SBT构建项目,在build.sbt里添加:libraryDependencies += "org.apache.httpcomponents" % "httpclient" % "4.5.13"如果是Maven项目,在
pom.xml里添加:<dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.13</version> </dependency>版本号可根据Spark 3.2兼容情况调整,建议选择4.5.x系列(Spark 3.2默认依赖版本为4.5.13左右)。
Spark作业提交时手动引入依赖
如果通过spark-submit提交作业,直接在命令里加--packages参数引入依赖:spark-submit --packages org.apache.httpcomponents:httpclient:4.5.13 --class your.main.Class your-jar-file.jar若已有httpclient的jar包,也可用
--jars参数指定路径:spark-submit --jars /path/to/httpclient-4.5.13.jar --class your.main.Class your-jar-file.jar检查依赖排除问题
确认项目中没有误排除org.apache.httpcomponents:httpclient依赖,避免因依赖冲突导致类找不到。
内容的提问来源于stack exchange,提问作者Surya
相关产品推荐
相关产品推荐

