NoClassDefFoundError in AEM | Community
Skip to main content
trc41594544
Level 3
July 9, 2018

NoClassDefFoundError in AEM

  • July 9, 2018
  • 2 replies
  • 10058 views

Hi,

I am working on custom Sling Filter in AEM 6.2 SP1. I am running in to issue where i am getting runtime whenever i upload my project JAR for one service.

The error is :

Error during instantiation of the implementation object (java.lang.NoClassDefFoundError: javax/servlet/http/HttpServletRequest)

java.lang.NoClassDefFoundError: javax/servlet/http/HttpServletRequest

  at java.lang.Class.getDeclaredConstructors0(Native Method)

  at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671)

  at java.lang.Class.getConstructor0(Class.java:3075)

  at java.lang.Class.newInstance(Class.java:412)

.

.

.

Caused by: java.lang.ClassNotFoundException: javax.servlet.http.HttpServletRequest not found by com.*.*.core [1423]

  at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1574)

  at org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:79)

  at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:2018)

I do not have any issues while compiling the project. It complies with out a problem. I am having javax.servlet as a dependency in POM. I tried with different versions of that also. I am running in to this issue every time i install jar in publish or author instance.

Any ideas or help would be appreciated.

Thanks

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.

2 replies

Adobe Employee
July 9, 2018

trc41594544

You have to ensure that the dependency javax.servlet.http.httpservletrequest is available in AEM. For this, go to /system/console/depfinder and search for javax.servlet.http.httpservletrequest and see which bundle exports it. You can then update you dependency accordingly and try re-uploading your jar.

Regards,

Aneet Arora

smacdonald2008
Level 10
July 10, 2018

AEM does not expose that Java package --

trc41594544
Level 3
July 10, 2018

Hi,

Can you let me know what can be done then? I am not sure how to proceed with this.

Thanks

akhoury
Adobe Employee
Adobe Employee
July 11, 2018

Is your jar file an OSGi bundle?

If so what do you have defined as the Bundle-SymbolicName?  You can get the Bundle-SymbolicName from the META-INF/MANIFEST.MF file in the jar file.

The reason I ask is because com.*.*.core is weird in this error message:

Caused by: java.lang.ClassNotFoundException: javax.servlet.http.HttpServletRequest not found by com.*.*.core [1423]