0

我正在嘗試製作一個簡單的播放框架應用程序來監視我的aws ec2實例。我一直在關注this guide開始。這是我遇到麻煩的方法。嘗試創建aws ec2客戶端時彈出框架錯誤

public static AmazonEC2Client createClient(){ 
    String accessKey = "ACCESS_KEY"; 
    String secretKey = "SECRET_KEY"; 
    String endpoint = "ec2.us-east-1.amazonaws.com"; 

    BasicAWSCredentials credentials = new BasicAWSCredentials(accessKey, secretKey); 
    AmazonEC2Client ec2Client = new AmazonEC2Client(credentials); 
    ec2Client.setEndpoint(endpoint); 
    return ec2Client; 
} 

當方法運行時,我得到這個錯誤,播放服務器停止。

Uncaught error from thread [play-akka.actor.default-dispatcher-3] shutting down JVM since  'akka.jvm-exit-on-fatal-error' is enabled for ActorSystem[play] 
java.lang.NoClassDefFoundError: org/apache/http/conn/scheme/SchemeSocketFactory 
at com.amazonaws.AmazonWebServiceClient.<init>(AmazonWebServiceClient.java:66) 
at com.amazonaws.services.ec2.AmazonEC2Client.<init>(AmazonEC2Client.java:151) 
at com.amazonaws.services.ec2.AmazonEC2Client.<init>(AmazonEC2Client.java:132) 
at models.AwsServer.createClient(AwsServer.java:17) 
at controllers.Devices.index(Devices.java:11) 
at  Routes$$anonfun$routes$1$$anonfun$applyOrElse$2$$anonfun$apply$2.apply(routes_routing.scala:61) 
at Routes$$anonfun$routes$1$$anonfun$applyOrElse$2$$anonfun$apply$2.apply(routes_routing.scala:61) 
at play.core.Router$HandlerInvoker$$anon$7$$anon$2.invocation(Router.scala:183) 
at play.core.Router$Routes$$anon$1.invocation(Router.scala:377) 
at play.core.j.JavaAction$$anon$1.call(JavaAction.scala:56) 
at play.core.j.JavaAction$$anon$3.apply(JavaAction.scala:91) 
at play.core.j.JavaAction$$anon$3.apply(JavaAction.scala:90) 
at play.core.j.FPromiseHelper$$anonfun$flatMap$1.apply(FPromiseHelper.scala:82) 
at play.core.j.FPromiseHelper$$anonfun$flatMap$1.apply(FPromiseHelper.scala:82) 
at scala.concurrent.Future$$anonfun$flatMap$1.apply(Future.scala:278) 
at scala.concurrent.Future$$anonfun$flatMap$1.apply(Future.scala:274) 
at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:29) 
[ERROR] [10/01/2013 14:20:16.319] [play-akka.actor.default-dispatcher-3] [ActorSystem(play)] Uncaught error from thread [play-akka.actor.default-dispatcher-3] shutting down JVM since 'akka.jvm-exit-on-fatal-error' is enabled 
java.lang.NoClassDefFoundError: org/apache/http/conn/scheme/SchemeSocketFactory 
at com.amazonaws.AmazonWebServiceClient.<init>(AmazonWebServiceClient.java:66) 
at com.amazonaws.services.ec2.AmazonEC2Client.<init>(AmazonEC2Client.java:151) 
at com.amazonaws.services.ec2.AmazonEC2Client.<init>(AmazonEC2Client.java:132) 
at models.AwsServer.createClient(AwsServer.java:17) 
at controllers.Devices.index(Devices.java:11) 
at Routes$$anonfun$routes$1$$anonfun$applyOrElse$2$$anonfun$apply$2.apply(routes_routing.scala:61) 
at Routes$$anonfun$routes$1$$anonfun$applyOrElse$2$$anonfun$apply$2.apply(routes_routing.scala:61) 
at play.core.Router$HandlerInvoker$$anon$7$$anon$2.invocation(Router.scala:183) 
at play.core.Router$Routes$$anon$1.invocation(Router.scala:377) 
at play.core.j.JavaAction$$anon$1.call(JavaAction.scala:56) 
at play.core.j.JavaAction$$anon$3.apply(JavaAction.scala:91) 
at play.core.j.JavaAction$$anon$3.apply(JavaAction.scala:90) 
at play.core.j.FPromiseHelper$$anonfun$flatMap$1.apply(FPromiseHelper.scala:82) 
at play.core.j.FPromiseHelper$$anonfun$flatMap$1.apply(FPromiseHelper.scala:82) 
at scala.concurrent.Future$$anonfun$flatMap$1.apply(Future.scala:278) 
at scala.concurrent.Future$$anonfun$flatMap$1.apply(Future.scala:274) 
at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:29) 
at play.core.j.HttpExecutionContext$$anon$2.run(HttpExecutionContext.scala:37) 
at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:42) 
at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:386) 
at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260) 
at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339) 
at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) 
at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107) 
    Caused by: java.lang.ClassNotFoundException: org.apache.http.conn.scheme.SchemeSocketFactory 
at java.net.URLClassLoader$1.run(URLClassLoader.java:202) 
at java.security.AccessController.doPrivileged(Native Method) 
at java.net.URLClassLoader.findClass(URLClassLoader.java:190) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:306) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:247) 
... 24 more 
at play.core.j.HttpExecutionContext$$anon$2.run(HttpExecutionContext.scala:37) 

at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:42) 
at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:386) 
at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260) 
at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339) 
at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) 
at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107) 
Caused by: java.lang.ClassNotFoundException: org.apache.http.conn.scheme.SchemeSocketFactory 
at java.net.URLClassLoader$1.run(URLClassLoader.java:202) 
at java.security.AccessController.doPrivileged(Native Method) 
at java.net.URLClassLoader.findClass(URLClassLoader.java:190) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:306) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:247) 
... 24 more 

回答

1

我得到了同樣的錯誤。我改變了我的maven依賴的版本,並解決了錯誤。

新的依賴:

<dependency> 
      <groupId>com.amazonaws</groupId> 
      <artifactId>aws-java-sdk</artifactId> 
      <version>1.4.3</version> 
</dependency> 

老依賴性:

<dependency> 
      <groupId>com.amazonaws</groupId> 
      <artifactId>aws-java-sdk</artifactId> 
      <version>1.5.7</version> 
</dependency> 

此外,還要確保你從你的類路徑中刪除舊版本,因爲它往往如果不拿起最新版本去做。希望這有助於:)

+1

下一個,只要我有機會也工作 com.amazonaws AWS-Java的SDK 1.0.002

+0

,我將對此進行測試。 – mrios16

相關問題