java.lang.NoClassDefFoundError:无法初始化类com.amazonaws.ClientConfiguration

时间:2016-09-22 14:00:35

标签: java amazon-web-services osgi aws-sdk

使用此捆绑包 - OSGI服务器中的aws-java-sdk-osgi-1.11.26.jar

执行此操作时会抛出Error AmazonS3 s3 = new AmazonS3Client( credentials );

java.lang.NoClassDefFoundError: Could not initialize class com.amazonaws.ClientConfiguration
        at com.amazonaws.ClientConfigurationFactory.getDefaultConfig(ClientConfigurationFactory.java:46)
        at com.amazonaws.ClientConfigurationFactory.getConfig(ClientConfigurationFactory.java:36)
        at com.amazonaws.services.s3.AmazonS3Client.<init>(AmazonS3Client.java:440)

解决此问题的任何解决方案?

4 个答案:

答案 0 :(得分:1)

感谢所有建议

ClientConfiguration aws-java-sdk-osgi-1.11.26.jar依赖于Jackson-databind.jar Jackson-databind.jar依赖于Jackson-core.jar 所以它无法初始化ClientConfiguration。

在Jackson-databind-osgi.jar的清单中添加了从jackson-core-osgi.jar导入的所有Import-Package

然后问题得到解决

注意:所有相关的罐子都转换为OSGI罐子并进行部署

答案 1 :(得分:0)

好吧,确保你的类路径中存在aws-java-sdk-osgi-1.11.26.jar,因为类本身存在于jar中。 我刚刚下载了jar。

aws-java-sdk-osgi-1.11.26.jar

答案 2 :(得分:0)

我猜你在包Manifest中缺少一个Import-Package语句。不确定你是如何构建你的捆绑包但我建议以某种形式使用bnd。例如,我通常使用maven-bundle-plugin,它在引擎盖下使用bnd。在大多数情况下,Bnd能够自动计算出口。

答案 3 :(得分:0)

对于我来说,重新启动flink群集可以解决问题。