java.lang.NoSuchMethodError:org.apache.http.conn.ssl.SSLConnectionSocketFactory

时间:2018-05-15 14:36:50

标签: scala amazon-web-services amazon-s3

如何在亚马逊的S3目录中列出镶木地板文件的所有文件名?

我发现了这种方式:

val s3 = AmazonS3ClientCuilder.standard.build()
var objs = s3.listObjects("bucketname","directory")
val summaries = objs.getObjectSummaries()
while (objs.isTruncated()) {
  objs = s3.listNextBatchOfObjects(objs)
  summaries.addAll(objs.getObjectSummaries())
}
val listOfFiles = summaries.toArray

但它会引发错误:

java.lang.NoSuchMethodError: org.apache.http.conn.ssl.SSLConnectionSocketFactory

我添加了httpclient 4.5.2的依赖关系,如许多答案中所示,但我仍然得到相同的错误。

我也做了:

    libraryDependencies ++= Seq(
      "org.apache.spark" %% "spark-core" % sparkVersion exclude("commons-httpclient", "commons-httpclient"),
      "org.apache.spark" %% "spark-mllib" % sparkVersion exclude("commons-httpclient", "commons-httpclient"),
      "org.sedis" %% "sedis" % "1.2.2",
      "org.scalactic" %% "scalactic" % "3.0.0",
      "org.scalatest" %% "scalatest" % "3.0.0" % "test",
      "com.github.nscala-time" %% "nscala-time" % "2.14.0",
      "com.amazonaws" % "aws-java-sdk-s3" % "1.11.53",
      "org.apache.httpcomponents" % "httpclient" % "4.5.2",
      "net.java.dev.jets3t" % "jets3t" % "0.9.3",
      "org.apache.hadoop" % "hadoop-aws" % "2.6.0",
      "com.github.scopt" %% "scopt" % "3.3.0"
    )

0 个答案:

没有答案