簡體   English   中英

使用AWS SDK for java運行程序時出現NoClassDefFoundError

[英]NoClassDefFoundError while running a program using AWS SDK for java

我試圖運行AWS SDK for Java附帶的DynamoDB示例。 我是用eclipse做的,並將aws-java-sdk-1.3.2.jar文件添加到項目的構建路徑中。 編譯當然很好,但我得到一個名為NoClassDefFoundError的運行時異常。 我知道這意味着該類在編譯時存在但在運行時無法找到。 我嘗試將jar文件添加到env變量 - 沒有幫助。 我也檢查過,在其他項目中使用其他外部jar文件沒有問題。 Windows和Linux上的問題相同。

幫助任何人?

謝謝,本。

堆棧跟蹤:

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)

aws-java-sdk-1.3.2文件夾中,您將找到另一個名為“ 第三方 ”的文件夾。 Amazon SDK使用的所有第三方文件都在該文件夾中,包括Apache Common Logging。 您必須將所需文件與AWS SDK jar文件一起添加到類路徑中。

看起來您的AWS JAR需要一些額外的JAR來實現已使用但非AWS的項目(例如您的案例日志記錄)。

如果您下載了包含“lib”目錄的distributable,則可能只是將Eclipse配置為使用AWS JAR而不是所有必需的JAR,包括AWS以及“lib”目錄中的所有JAR。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM