java.lang.NoClassDefFoundError: Could not initialize class com.amazonaws.ClientConfiguration
java.lang.NoClassDefFoundError: Could not initialize class com.amazonaws.ClientConfiguration
在 OSGI Server
中使用这个包 - aws-java-sdk-osgi-1.11.26.jar
执行时抛出以下错误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)
有解决这个问题的方法吗?
嗯,请确保 aws-java-sdk-osgi-1.11.26.jar 存在于您的 class 路径中,因为 class 本身存在在罐子里。
我刚刚下载了 jar。
我猜您在捆绑包清单中缺少 Import-Package 语句。不确定你是如何构建你的包的,但我建议以某种形式使用 bnd。例如,我通常使用 maven-bundle-plugin,它在后台使用 bnd。在大多数情况下,Bnd 能够自动计算出导入。
感谢所有建议
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 全部导入的导入包
那么问题就解决了
注意:所有依赖的 jar 都转换为 OSGI jar 并部署
就我而言,重启flink集群解决了问题。
在 OSGI Server
中使用这个包 - aws-java-sdk-osgi-1.11.26.jar执行时抛出以下错误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)
有解决这个问题的方法吗?
嗯,请确保 aws-java-sdk-osgi-1.11.26.jar 存在于您的 class 路径中,因为 class 本身存在在罐子里。 我刚刚下载了 jar。
我猜您在捆绑包清单中缺少 Import-Package 语句。不确定你是如何构建你的包的,但我建议以某种形式使用 bnd。例如,我通常使用 maven-bundle-plugin,它在后台使用 bnd。在大多数情况下,Bnd 能够自动计算出导入。
感谢所有建议
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 全部导入的导入包那么问题就解决了
注意:所有依赖的 jar 都转换为 OSGI jar 并部署
就我而言,重启flink集群解决了问题。