Проблема в том, что некоторые классы Amazon Web Services SDK не найдены, в частности com.amazonaws.AmazonServiceException
, который является основным типом исключения для AWS SDK, что указывает на то, что, вероятно, все файлы AWS SDK отсутствуют в пути к классам Java.
Обратите внимание, что файл aws-java-sdk-1.11.335.jar
не является полным AWS SDK (как можно было подумать) и содержит только некоторые файлы метаданных.Java SDK AWS разделен на несколько артефактов - поскольку он настолько велик, что вы не хотите использовать один JAR-файл со всеми классами, вы хотите использовать SDK только для определенных используемых вами служб.
Поскольку вы используете S3, вам, вероятно, просто нужен S3 JAR и его зависимости, как можно увидеть на странице репозитория Maven для AWS S3 SDK .Обратите внимание, что одна из зависимостей - aws-java-sdk-core
, в которой находится класс com.amazonaws.AmazonServiceException
.
Вы также можете просмотреть все зависимости (и перейти по каталогам, чтобы собрать все нужные вам файлы) вФайл POM в http://central.maven.org/maven2/com/amazonaws/aws-java-sdk-s3/1.11.335/.
Как правило, из-за сложных структур зависимостей, распространенных в наши дни, рекомендуется не загружать JAR-файлы вручную и помещать их по одному в сборку Eclipse.путь, но вместо этого следует использовать Maven.
Если у вас есть стандартный проект Java в eclipse, вы можете щелкнуть правой кнопкой мыши имя проекта в проводнике пакетов, затем выбрать «Конфигурировать» -> «Преобразовать в проект Maven» изаполните некоторые детали в открывшемся диалоговом окне (*).После этого Eclipse создаст файл pom.xml
в корне вашего проекта - откройте его, и вы получите специальный редактор для настройки ваших зависимостей.Нажмите на вкладку с надписью «Зависимости», а затем «Добавить», и вы сможете найти aws-java-sdk-s3
, добавить его в свой список зависимостей, а затем Maven автоматически загрузит все необходимые файлы JAR и автоматически добавит их в вашу сборку.путь.
*) "Идентификатор группы" - это, как правило, имя верхнего пакета вашего проекта, которое должно выглядеть как обратное доменное имя - например, мой домен geek.co.il
, поэтому мой идентификатор группы будет il.co.geek
;«Идентификатор артефакта» - это идентификатор одного слова для вашего проекта, например my-project
.