2014-12-16 2 views
0

Я пытаюсь использовать Java SDK для программной остановки экземпляра EC2. Я очень новая АМС апи, но то, что я пытаюсь сделать, должно быть очень простым:Доступ к экземпляру EC2 с использованием основных учетных данных

BasicAWSCredentials credentials = new BasicAWSCredentials(ACCESS_KEY, SECRET_KEY); 

AmazonEC2Client ec2 = new AmazonEC2Client(credentials); //ERROR caused by this line 

Я видел несколько примеров этого, например here. Я знаю, что лучший способ сделать это - использовать роли IAM, но я просто пытаюсь заставить что-то работать в первую очередь. Линия, которая создает AmazonEC2 бросает эту ошибку

java.lang.NoClassDefFoundError: com/fasterxml/jackson/databind/ObjectMapper at com.amazonaws.util.json.Jackson. 

Я не могу понять, почему он бросает определение класса не найдена ошибка.

+0

Можете ли вы подтвердить, что ключ доступа работает или нет? загрузите 'aws-cli' (aws command tools) и запустите непосредственно в командной оболочке, чтобы подтвердить, что вы можете успешно выполнить команду 'aws ec2 describe-instance-status' – BMW

+0

Хорошо, я сделал это и получил хороший ответ. У меня есть вопрос, который, возможно, я должен был включить в исходное сообщение: если ошибки были неправильными, проблема была бы у меня другая ошибка, а не ошибка класса, не найденная? Или ошибки от вызовов AWS api не описывают проблему? – user244145

+0

Вы можете протестировать с вашего конца с помощью отказавшего ключа доступа. – BMW

ответ

0

Я понял вопрос. По-видимому, библиотека AWS требует еще 3 зависимостей в fasterxml.jackson.core. Поскольку я использовал Ivy для их настройки, мне пришлось добавить их вручную.

 Смежные вопросы

  • Нет связанных вопросов^_^