NoClassDefFoundError во время запуска программы с использованием AWS SDK для java

Я пытаюсь запустить образец DynamoDB, который поставляется с AWS SDK для java. Я делаю это, используя eclipse, и добавил файл aws-java-sdk-1.3.2.jar в путь сборки проекта. Компиляция, конечно, идет хорошо, но im получает исключение во время выполнения с именем NoClassDefFoundError. Я знаю, это означает, что класс был там при компиляции, но не мог быть найден во время выполнения. Я попытался добавить файл jar в переменные env - не помогло. Я также проверил, и нет проблем с использованием других внешних файлов jar в других проектах. Такая же проблема и для Windows, и для Linux.

Помогите кому-нибудь?

Спасибо, ben.

Трассировка стека:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
    at com.amazonaws.services.dynamodb.AmazonDynamoDBClient.<clinit>(AmazonDynamoDBClient.java:62)
    at AmazonDynamoDBSample.init(AmazonDynamoDBSample.java:62)
    at AmazonDynamoDBSample.main(AmazonDynamoDBSample.java:67)

Ответ 1

В папке aws-java-sdk-1.3.2 вы найдете другую папку с именем " сторонняя". Все сторонние файлы, используемые программой Amazon SDK, находятся внутри этой папки, включая общий журнал регистрации Apache. Вы должны добавить необходимые файлы в свой путь к классам вместе с файлами jar AWS SDK.

Ответ 2

Похоже, что вашему AWS JAR требуется несколько дополнительных JAR для реализации используемых, но не AWS-элементов (например, в вашем журнале).

Если вы загрузили дистрибутив, содержащий каталог "lib", то вы можете настроить Eclipse только для использования AWS JAR вместо всех необходимых JAR, включая AWS и, возможно, все JAR файлы в каталоге "lib".