Deployment successful but servlet in satisfied state in local cloud instance
Hello Adobe Community,
We are trying to implement a servlet which needs to read csv file. To read csv file we have added dependency in core pom.xml
I’m facing an issue with a servlet deployment in AEM Cloud.The deployment completes successfully, but after deployment, the servlet remains in an satisfied state. Upon reviewing the error logs, I found the following stack trace related to an unresolved dependency:
org.apache.felix.log.LogException: java.lang.NoClassDefFoundError: com/opencsv/CSVReader
It seems the system is unable to resolve the OpenCSV dependency, specifically the CSVReader class, despite the deployment succeeding without any apparent issues.
java.lang.NoClassDefFoundError: com/opencsv/CSVReader
This suggests that the CSVReader class is not being found at runtime, even though the JAR appears to be bundled correctly.
Questions:
Has anyone encountered a similar issue with OSGi and OpenCSV?
Is there any other way I can troubleshoot or fix the unresolved dependency in the OSGi container?
29.04.2025 15:19:41.285 *WARN* [FelixLogListener] com..aem..core.servlets.BinAuthenticationServlet bundle com..aem..core:2.0.0.SNAPSHOT (622)[com..aem..core.servlets.BinAuthenticationServlet(4261)] : Failure loooking up method deactivate(org.osgi.service.component.ComponentContext) in class class com..aem..core.servlets.BinAuthenticationServlet. Assuming no such method. (org.apache.felix.log.LogException: java.lang.NoClassDefFoundError: com/opencsv/CSVReader)
org.apache.felix.log.LogException: java.lang.NoClassDefFoundError: com/opencsv/CSVReader
at java.base/java.lang.Class.getDeclaredMethods0(Native Method)
at java.base/java.lang.Class.privateGetDeclaredMethods(Class.java:3166)
at java.base/java.lang.Class.getDeclaredMethod(Class.java:2473)
at org.apache.felix.scr.impl.inject.methods.BaseMethod.getMethod(BaseMethod.java:359) [org.apache.felix.scr:2.2.12]
at org.apache.felix.scr.impl.inject.methods.ActivateMethod.doFindMethod(ActivateMethod.java:70) [org.apache.felix.scr:2.2.12]
at org.apache.felix.scr.impl.inject.methods.BaseMethod.findMethod(BaseMethod.java:185) [org.apache.felix.scr:2.2.12]
at org.apache.felix.scr.impl.inject.methods.BaseMethod.access$400(BaseMethod.java:41) [org.apache.felix.scr:2.2.12]
at org.apache.felix.scr.impl.inject.methods.BaseMethod$NotResolved.resolve(BaseMethod.java:638) [org.apache.felix.scr:2.2.12]
at org.apache.felix.scr.impl.inject.methods.BaseMethod$NotResolved.methodExists(BaseMethod.java:662) [org.apache.felix.scr:2.2.12]
at org.apache.felix.scr.impl.inject.methods.BaseMethod.methodExists(BaseMethod.java:563) [org.apache.felix.scr:2.2.12]
at org.apache.felix.scr.impl.inject.methods.ActivateMethod.invoke(ActivateMethod.java:315) [org.apache.felix.scr:2.2.12]
at org.apache.felix.scr.impl.inject.methods.ActivateMethod.invoke(ActivateMethod.java:307) [org.apache.felix.scr:2.2.12]
at org.apache.felix.scr.impl.manager.SingleComponentManager.disposeImplementationObject(SingleComponentManager.java:421) [org.apache.felix.scr:2.2.12]
at org.apache.felix.scr.impl.manager.SingleComponentManager.deleteComponent(SingleComponentManager.java:165) [org.apache.felix.scr:2.2.12]
at org.apache.felix.scr.impl.manager.AbstractComponentManager.doDeactivate(AbstractComponentManager.java:853) [org.apache.felix.scr:2.2.12]
at org.apache.felix.scr.impl.manager.AbstractComponentManager.deactivateInternal(AbstractComponentManager.java:825) [org.apache.felix.scr:2.2.12]
at org.apache.felix.scr.impl.manager.DependencyManager.deactivateComponentManager(DependencyManager.java:2649) [org.apache.felix.scr:2.2.12]
at org.apache.felix.scr.impl.manager.DependencyManager.access$400(DependencyManager.java:59) [org.apache.felix.scr:2.2.12]
at org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.removedService(DependencyManager.java:1369) [org.apache.felix.scr:2.2.12]
at org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.removedService(DependencyManager.java:1238) [org.apache.felix.scr:2.2.12]
at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerRemoved(ServiceTracker.java:1258) [org.apache.felix.scr:2.2.12]
at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerRemoved(ServiceTracker.java:1152) [org.apache.felix.scr:2.2.12]
at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.untrack(ServiceTracker.java:1012) [org.apache.felix.scr:2.2.12]
at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:1192) [org.apache.felix.scr:2.2.12]
at org.apache.felix.scr.impl.BundleComponentActivator$ListenerInfo.serviceChanged(BundleComponentActivator.java:117) [org.apache.felix.scr:2.2.12]
at org.apache.felix.framework.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:990)
at org.apache.felix.framework.EventDispatcher.fireEventImmediately(EventDispatcher.java:838)
at org.apache.felix.framework.EventDispatcher.fireServiceEvent(EventDispatcher.java:545)
at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:4863)
at org.apache.felix.framework.Felix.access$000(Felix.java:111)
at org.apache.felix.framework.Felix$1.serviceChanged(Felix.java:440)
at org.apache.felix.framework.ServiceRegistry.unregisterService(ServiceRegistry.java:170)
at org.apache.felix.framework.ServiceRegistrationImpl.unregister(ServiceRegistrationImpl.java:146)
at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.unregister(AbstractComponentManager.java:952) [org.apache.felix.scr:2.2.12]
at org.apache.felix.scr.impl.manager.AbstractComponentManager$3.unregister(AbstractComponentManager.java:915) [org.apache.felix.scr:2.2.12]
at org.apache.felix.scr.impl.manager.RegistrationManager.changeRegistration(RegistrationManager.java:140) [org.apache.felix.scr:2.2.12]
at org.apache.felix.scr.impl.manager.AbstractComponentManager.unregisterService(AbstractComponentManager.java:994) [org.apache.felix.scr:2.2.12]
at org.apache.felix.scr.impl.manager.AbstractComponentManager.doDeactivate(AbstractComponentManager.java:844) [org.apache.felix.scr:2.2.12]
at org.apache.felix.scr.impl.manager.AbstractComponentManager.deactivateInternal(AbstractComponentManager.java:825) [org.apache.felix.scr:2.2.12]
at org.apache.felix.scr.impl.manager.AbstractComponentManager.dispose(AbstractComponentManager.java:589) [org.apache.felix.scr:2.2.12]
at org.apache.felix.scr.impl.manager.ConfigurableComponentHolder.disposeComponents(ConfigurableComponentHolder.java:722) [org.apache.felix.scr:2.2.12]
at org.apache.felix.scr.impl.BundleComponentActivator.dispose(BundleComponentActivator.java:505) [org.apache.felix.scr:2.2.12]
at org.apache.felix.scr.impl.Activator.disposeComponents(Activator.java:672) [org.apache.felix.scr:2.2.12]
at org.apache.felix.scr.impl.Activator.access$300(Activator.java:75) [org.apache.felix.scr:2.2.12]
at org.apache.felix.scr.impl.Activator$ScrExtension.destroy(Activator.java:510) [org.apache.felix.scr:2.2.12]
at org.apache.felix.scr.impl.AbstractExtender$1.run(AbstractExtender.java:216) [org.apache.felix.scr:2.2.12]
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at org.apache.felix.scr.impl.AbstractExtender.destroyExtension(AbstractExtender.java:238) [org.apache.felix.scr:2.2.12]
at org.apache.felix.scr.impl.AbstractExtender.bundleChanged(AbstractExtender.java:132) [org.apache.felix.scr:2.2.12]
at org.apache.felix.scr.impl.Activator.bundleChanged(Activator.java:256) [org.apache.felix.scr:2.2.12]
at org.apache.felix.framework.EventDispatcher.invokeBundleListenerCallback(EventDispatcher.java:915)
at org.apache.felix.framework.EventDispatcher.fireEventImmediately(EventDispatcher.java:834)
at org.apache.felix.framework.EventDispatcher.fireBundleEvent(EventDispatcher.java:516)
at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4847)
at org.apache.felix.framework.Felix.stopBundle(Felix.java:2812)
at org.apache.felix.framework.BundleImpl.stop(BundleImpl.java:1046)
at org.apache.felix.webconsole.internal.core.BaseUpdateInstallHelper.run(BaseUpdateInstallHelper.java:152) [org.apache.felix.webconsole:5.0.10]
at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: java.lang.ClassNotFoundException: com.opencsv.CSVReader not found by com..aem..core [622]
at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1591)
at org.apache.felix.framework.BundleWiringImpl.access$300(BundleWiringImpl.java:79)
at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1976)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:527)
... 59 common frames omitted