title: NoSuchMethod Error on HandlerChainFactory.getGlobalHandlers() using AWS SDK 1.11.97
body: <p>I have a play 2.4.3 framework app that I'm working on.  I just added uploading images to AWS S3 bucket, which I got working locally.  But when I push to AWS elastic Beanstalk environment, I get the following error when I try create the AmazonS3Client per <a href="http://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/credentials.html#credentials-explicit" rel="nofollow noreferrer">these instructions</a>:</p>
  
  <pre><code>java.lang.NoSuchMethodError: com.amazonaws.handlers.HandlerChainFactory.getGlobalHandlers()Ljava/util/List;
      at com.amazonaws.services.s3.AmazonS3Client.init(AmazonS3Client.java:668) ~[com.amazonaws.aws-java-sdk-s3-1.11.97.jar:na]
      at com.amazonaws.services.s3.AmazonS3Client.&lt;init&gt;(AmazonS3Client.java:651) ~[com.amazonaws.aws-java-sdk-s3-1.11.97.jar:na]
      at com.amazonaws.services.s3.AmazonS3Builder$1.apply(AmazonS3Builder.java:35) ~[com.amazonaws.aws-java-sdk-s3-1.11.97.jar:na]
      at com.amazonaws.services.s3.AmazonS3Builder$1.apply(AmazonS3Builder.java:32) ~[com.amazonaws.aws-java-sdk-s3-1.11.97.jar:na]
      at com.amazonaws.services.s3.AmazonS3ClientBuilder.build(AmazonS3ClientBuilder.java:64) ~[com.amazonaws.aws-java-sdk-s3-1.11.97.jar:na]
      at com.amazonaws.services.s3.AmazonS3ClientBuilder.build(AmazonS3ClientBuilder.java:28) ~[com.amazonaws.aws-java-sdk-s3-1.11.97.jar:na]
      at com.amazonaws.client.builder.AwsSyncClientBuilder.build(AwsSyncClientBuilder.java:38) ~[com.amazonaws.aws-java-sdk-core-1.11.43.jar:na]
      at utils.image.ImageUtils.getCredentaledS3Client(ImageUtils.java:49) ~[richfoods.richfoods-1.0-SNAPSHOT-sans-externalized.jar:na]
      at utils.image.ImageUtils.save(ImageUtils.java:152) ~[richfoods.richfoods-1.0-SNAPSHOT-sans-externalized.jar:na]
      at utils.image.ImageUtils.createCroppedSquareProxy(ImageUtils.java:93) ~[richfoods.richfoods-1.0-SNAPSHOT-sans-externalized.jar:na]
      at controllers.ControllerUtils.saveImage(ControllerUtils.java:155) ~[richfoods.richfoods-1.0-SNAPSHOT-sans-externalized.jar:na]
      at controllers.user.ModelController.onProfileSubmit(ModelController.java:193) ~[richfoods.richfoods-1.0-SNAPSHOT-sans-externalized.jar:na]
      at router.Routes$$anonfun$routes$1$$anonfun$applyOrElse$18$$anonfun$apply$18.apply(Routes.scala:868) ~[richfoods.richfoods-1.0-SNAPSHOT-sans-externalized.jar:na]
      at router.Routes$$anonfun$routes$1$$anonfun$applyOrElse$18$$anonfun$apply$18.apply(Routes.scala:868) ~[richfoods.richfoods-1.0-SNAPSHOT-sans-externalized.jar:na]
      at play.core.routing.HandlerInvokerFactory$$anon$4.resultCall(HandlerInvoker.scala:136) ~[com.typesafe.play.play_2.11-2.4.3.jar:2.4.3]
      at play.core.routing.HandlerInvokerFactory$JavaActionInvokerFactory$$anon$14$$anon$3$$anon$1.invocation(HandlerInvoker.scala:127) ~[com.typesafe.play.play_2.11-2.4.3.jar:2.4.3]
      at play.core.j.JavaAction$$anon$1.call(JavaAction.scala:70) ~[com.typesafe.play.play_2.11-2.4.3.jar:2.4.3]
      at play.GlobalSettings$1.call(GlobalSettings.java:67) ~[com.typesafe.play.play_2.11-2.4.3.jar:2.4.3]
      at models.privilege.Authentication$User.call(Authentication.java:51) ~[richfoods.richfoods-1.0-SNAPSHOT-sans-externalized.jar:na]
      at play.core.j.JavaAction$$anonfun$7.apply(JavaAction.scala:94) ~[com.typesafe.play.play_2.11-2.4.3.jar:2.4.3]
      at play.core.j.JavaAction$$anonfun$7.apply(JavaAction.scala:94) ~[com.typesafe.play.play_2.11-2.4.3.jar:2.4.3]
      at scala.concurrent.impl.Future$PromiseCompletingRunnable.liftedTree1$1(Future.scala:24) ~[org.scala-lang.scala-library-2.11.6.jar:na]
      at scala.concurrent.impl.Future$PromiseCompletingRunnable.run(Future.scala:24) ~[org.scala-lang.scala-library-2.11.6.jar:na]
      at play.core.j.HttpExecutionContext$$anon$2.run(HttpExecutionContext.scala:40) ~[com.typesafe.play.play_2.11-2.4.3.jar:2.4.3]
      at play.api.libs.iteratee.Execution$trampoline$.execute(Execution.scala:70) ~[com.typesafe.play.play-iteratees_2.11-2.4.3.jar:2.4.3]
      at play.core.j.HttpExecutionContext.execute(HttpExecutionContext.scala:32) ~[com.typesafe.play.play_2.11-2.4.3.jar:2.4.3]
      at scala.concurrent.impl.Future$.apply(Future.scala:31) ~[org.scala-lang.scala-library-2.11.6.jar:na]
      at scala.concurrent.Future$.apply(Future.scala:492) ~[org.scala-lang.scala-library-2.11.6.jar:na]
      at play.core.j.JavaAction.apply(JavaAction.scala:94) ~[com.typesafe.play.play_2.11-2.4.3.jar:2.4.3]
      at play.api.mvc.Action$$anonfun$apply$1$$anonfun$apply$4$$anonfun$apply$5.apply(Action.scala:105) ~[com.typesafe.play.play_2.11-2.4.3.jar:2.4.3]
      at play.api.mvc.Action$$anonfun$apply$1$$anonfun$apply$4$$anonfun$apply$5.apply(Action.scala:105) ~[com.typesafe.play.play_2.11-2.4.3.jar:2.4.3]
      at play.utils.Threads$.withContextClassLoader(Threads.scala:21) ~[com.typesafe.play.play_2.11-2.4.3.jar:2.4.3]
      at play.api.mvc.Action$$anonfun$apply$1$$anonfun$apply$4.apply(Action.scala:104) ~[com.typesafe.play.play_2.11-2.4.3.jar:2.4.3]
      at play.api.mvc.Action$$anonfun$apply$1$$anonfun$apply$4.apply(Action.scala:103) ~[com.typesafe.play.play_2.11-2.4.3.jar:2.4.3]
      at scala.Option.map(Option.scala:146) ~[org.scala-lang.scala-library-2.11.6.jar:na]
      at play.api.mvc.Action$$anonfun$apply$1.apply(Action.scala:103) ~[com.typesafe.play.play_2.11-2.4.3.jar:2.4.3]
      at play.api.mvc.Action$$anonfun$apply$1.apply(Action.scala:96) ~[com.typesafe.play.play_2.11-2.4.3.jar:2.4.3]
      at play.api.libs.iteratee.Iteratee$$anonfun$mapM$1.apply(Iteratee.scala:524) ~[com.typesafe.play.play-iteratees_2.11-2.4.3.jar:2.4.3]
      at play.api.libs.iteratee.Iteratee$$anonfun$mapM$1.apply(Iteratee.scala:524) ~[com.typesafe.play.play-iteratees_2.11-2.4.3.jar:2.4.3]
      at play.api.libs.iteratee.Iteratee$$anonfun$flatMapM$1.apply(Iteratee.scala:560) ~[com.typesafe.play.play-iteratees_2.11-2.4.3.jar:2.4.3]
      at play.api.libs.iteratee.Iteratee$$anonfun$flatMapM$1.apply(Iteratee.scala:560) ~[com.typesafe.play.play-iteratees_2.11-2.4.3.jar:2.4.3]
      at play.api.libs.iteratee.Iteratee$$anonfun$flatMap$1$$anonfun$apply$14.apply(Iteratee.scala:537) ~[com.typesafe.play.play-iteratees_2.11-2.4.3.jar:2.4.3]
      at play.api.libs.iteratee.Iteratee$$anonfun$flatMap$1$$anonfun$apply$14.apply(Iteratee.scala:537) ~[com.typesafe.play.play-iteratees_2.11-2.4.3.jar:2.4.3]
      at scala.concurrent.impl.Future$PromiseCompletingRunnable.liftedTree1$1(Future.scala:24) ~[org.scala-lang.scala-library-2.11.6.jar:na]
      at scala.concurrent.impl.Future$PromiseCompletingRunnable.run(Future.scala:24) ~[org.scala-lang.scala-library-2.11.6.jar:na]
      at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:40) ~[com.typesafe.akka.akka-actor_2.11-2.3.13.jar:na]
      at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:397) [com.typesafe.akka.akka-actor_2.11-2.3.13.jar:na]
      at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260) [org.scala-lang.scala-library-2.11.6.jar:na]
      at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339) [org.scala-lang.scala-library-2.11.6.jar:na]
      at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) [org.scala-lang.scala-library-2.11.6.jar:na]
      at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107) [org.scala-lang.scala-library-2.11.6.jar:na]
  </code></pre>
  
  <p>I couldn't find anything about this via a google search.  Any ideas?
  I use Docker to get the app running on EB.  But I am not using Docker to run locally.  I am wondering if that may have something to do with it?</p>