2014-07-10 13 views
6

Próbuję stworzyć elastyczny interfejs klienta beanstalk, aby połączyć go z moim kontem amazon elasticbeanstalk. Użyłem referencji mojego konta z pliku skryptu credentials.Csl. Zarejestrowałem się na moje konto z Google Chrome, ale dostaję błędy. Oto mój kod.Klient ElasticBeanstalk

package PFE; 


import com.amazonaws.AmazonClientException; 
import com.amazonaws.AmazonServiceException; 
import com.amazonaws.auth.AWSCredentials; 
import com.amazonaws.auth.profile.ProfileCredentialsProvider; 
import com.amazonaws.regions.Region; 
import com.amazonaws.regions.Regions; 
import com.amazonaws.services.elasticbeanstalk.AWSElasticBeanstalk; 
import com.amazonaws.services.elasticbeanstalk.AWSElasticBeanstalkClient; 
import com.amazonaws.services.elasticbeanstalk.model.CheckDNSAvailabilityResult; 

public class Sample { 

    static AWSElasticBeanstalk  eb; 

    private static void init()throws Exception{ 


/* 
    * The ProfileCredentialsProvider will return your [default] 
    * credential profile by reading from the credentials file located at 
    * (~/.aws/credentials). 
    */ 
    AWSCredentials credentials = null; 

    try { 

     credentials = new ProfileCredentialsProvider().getCredentials(); 

    } catch (Exception e) { 
     throw new AmazonClientException(
      "Cannot load the credentials from the credential profiles file. " + 
      "Please make sure that your credentials file is at the correct " + 
      "location (~/.aws/credentials), and is in valid format.", 
      e); 
    } 

    eb = new AWSElasticBeanstalkClient(credentials); 
    Region usWest2 = Region.getRegion(Regions.US_WEST_2); 
    eb.setRegion(usWest2); 
} 

public static void main(String[] args) throws Exception { 

    init();  
    try {    
     CheckDNSAvailabilityResult c= eb.checkDNSAvailability(null); 

     System.out.println("You have access to " + c.getAvailable() + 
          " Availability Zones.") 

     eb.createStorageLocation(); 

    } catch (AmazonServiceException ase) { 
     System.out.println("Caught Exception: " + ase.getMessage()); 
     System.out.println("Reponse Status Code: " + ase.getStatusCode()); 
     System.out.println("Error Code: " + ase.getErrorCode()); 
     System.out.println("Request ID: " + ase.getRequestId()); 
    }     
} 

} 

Oto błędy, które dostałem, gdy uruchomiony mój projekt

Exception in thread "main" java.lang.NoClassDefFoundError:org/apache/commons/logging/LogFactory at com.amazonaws.auth.profile.ProfilesConfigFile.<clinit>(ProfilesConfigFile.java:62) at com.amazonaws.auth.profile.ProfileCredentialsProvider.getCredentials(ProfileCredentialsProvider.java:106) 
at PFE.Sample.init(Sample.java:29) 
at PFE.Sample.main(Sample.java:47) 
Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory 
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:307) 
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:248) 

Myślałem, że problem jest z biblioteką org.apache.commons.logging.LogFactory więc ściągnąłem go i dodaje go do moich odwołuje bibliotek, ale I” m wciąż otrzymuję te same błędy.

Odpowiedz

1

mam ten sam błąd, starając się, aby próbki SQS ... Moje rozwiązanie to: Nie dodawaj AWS SDK for Java tak jak słoik zewnętrznej

Don't

Ale jako biblioteka.

enter image description here

0

Problem polegał na tym, że istnieją inne biblioteki brakuje, więc zainstalowany zestaw narzędzi AWS do mojego Eclipse Keplera, ze wszystkimi niezbędnymi bibliotekami. http://aws.amazon.com/fr/eclipse/ ..link do pobrania.

1

Instrukcja NetBeans IDE:

  1. Pobierz "SDK for Java" z this stronie

  2. wypakować wszystkie pliki z archiwum na przykład w folderze /aws-java-sdk-1.9. 22

  3. Kopiowanie kolejne plików do projektu:

    • /aws-java-sdk-1.9.22/lib/aws-java-sdk-1.9.22.jar

    • Wszystkie pliki * .jar z folderu: /aws-java-sdk-1.9.22/third-party/

  4. Teraz wystarczy dodać wszystkie pliki * .jar do projektu w IDB NetBeans.

  5. Zysk!