Expand my Community achievements bar.

SOLVED

[AWS SDK] java.lang.NoClassDefFoundError: Could not initialize class com.amazonaws.ClientConfiguration

Avatar

Level 1

Hi everyone, good afternoon.

We have a custom bundle that wires up the whole AWS SDK OSGI package and export it, so the other part of application can take advantage of the AWS SDK as well. This is working properly, we have an AEM preprocessor that pushes some data to AWS CloudSearch.

 

I'm trying to take advantage of that bundle that is already installed and running on upper environments, but I'm struggling with it and it seems that AEM is not finding the correct resolution for some classes, it gives me the NoClassDefFoundError error:

 

java.lang.NoClassDefFoundError: Could not initialize class com.amazonaws.ClientConfiguration
	at com.amazonaws.ClientConfigurationFactory.getDefaultConfig(ClientConfigurationFactory.java:46) [com.xxx.aws.cloudsearch.xxx-cloudsearch-bundle:3.0.1]
	at com.amazonaws.ClientConfigurationFactory.getConfig(ClientConfigurationFactory.java:36) [com.xxx.aws.cloudsearch.xxx-cloudsearch-bundle:3.0.1]
	at com.amazonaws.services.cloudfront.AmazonCloudFrontClient.<init>(AmazonCloudFrontClient.java:140) [com.xxx.aws.cloudsearch.xxx-cloudsearch-bundle:3.0.1]

 

 

My pom.xml looks like this:

2020-04-28-16-19-42.png

 

I took a look at http://localhost:4502/system/console/bundles and it seems that my dependency is properly resolved as we can see below:

2020-04-28-16-23-22.png

 

This is the custom bundle (xxx.xxx.xxx.cloudsearch-bundle) and how it exports the amazon dependencies:

aws-sdk.png

 

 

EDIT 1:

I've double checked and that class is being resolved by AEM:

aws.png

Anyone has an idea?

Thank you.

Regards.

 

1 Accepted Solution

Avatar

Correct answer by
Employee Advisor

This exception "

java.lang.NoClassDefFoundError: Could not initialize class com.amazonaws.ClientConfiguration

does not necessarily mean that the problem is the class com.amazonaws.ClientConfiguration itself, but that it happened within the constructor of that class. Can you show us the complete exception? 

View solution in original post

4 Replies

Avatar

Community Advisor

@thiagos66211318  I am not able to correctly identify the issue. But are you sure the import for ClientConfiguration is resolved properly ? 

Avatar

Level 1
Hi @VeenaVikraman I'ved added a screenshot of the package dependency and we can see that "ClientConfiguration" is found by AEM.

Avatar

Correct answer by
Employee Advisor

This exception "

java.lang.NoClassDefFoundError: Could not initialize class com.amazonaws.ClientConfiguration

does not necessarily mean that the problem is the class com.amazonaws.ClientConfiguration itself, but that it happened within the constructor of that class. Can you show us the complete exception?