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
Views
Replies
Total Likes
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
Views
Replies
Total Likes
AEM does not expose that Java package --
Views
Replies
Total Likes
Hi,
Can you let me know what can be done then? I am not sure how to proceed with this.
Thanks
Views
Replies
Total Likes
Hi,
I think you tried wrong Jar file in depfinder. It should be javax.servlet.http.HttpServletRequest and you are looking for javax.servlet.http.httpservletrequest.
I have tried to add the dependency also but it did not worked.
Thanks
Views
Replies
Total Likes
You need to get a physical JAR file that contains this Java package, wrap that JAR into an OSGi bundle and then deploy that OSGi bundle to AEM. It has nothing to do with adding a dependency to the POM when you build the bundle. THe issue is this Java package is not in the AEM OSGi service container. That is, no OSGi bundle exposes that Java package.
Views
Replies
Total Likes
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]
Views
Replies
Total Likes
Views
Like
Replies