Expand my Community achievements bar.

Introducing Adobe LLM Optimizer: Own your brand’s presence in AI-Powered search and discovery

Issue with nu.xom in AEM as a cloud service.

Avatar

Level 1

I am in the process of migrating AEM 6.5 codebase to AEM as a cloud service. In my current code we are using nu.xom for XML elements processing. There are huge number of classes utilising this library. We are using jdk 11 for our local development. The nu.xom is working fine and services are giving expected results in local. But after deploying to AEM cloud instance, my services are not getting initialised .

Below is the error we are observing for the service component:

Please suggest how to resolve it.

 

        "state": "failed activation",
        "failure": "java.lang.IllegalAccessError: superclass access check failed: class nu.xom.JDK15XML1_0Parser (in unnamed module @0x5a2bd86e) cannot access class com.sun.org.apache.xerces.internal.parsers.SAXParser (in module java.xml) because module java.xml does not export com.sun.org.apache.xerces.internal.parsers to unnamed module @0x5a2bd86e\n\tat java.base/java.lang.ClassLoader.defineClass1(Native Method)\n\tat java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1027)\n\tat org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.defineClass(BundleWiringImpl.java:2338)\n\tat org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.defineClassParallel(BundleWiringImpl.java:2156)\n\tat org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.findClass(BundleWiringImpl.java:2090)\n\tat org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1556)\n\tat org.apache.felix.framework.BundleWiringImpl.access$300(BundleWiringImpl.java:79)\n\tat org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1976)\n\tat java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526)\n\tat java.base/java.lang.Class.forName0(Native Method)\n\tat java.base/java.lang.Class.forName(Class.java:421)\n\tat java.base/java.lang.Class.forName(Class.java:412)\n\tat nu.xom.Builder.findParser(Builder.java:211)\n\tat nu.xom.Builder.<init>(Builder.java:145)\n\tat nu.xom.Builder.<init>(Builder.java:125)\n\tat java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)\n\tat java.base/java.lang.reflect.Method.invoke(Method.java:580)\n\tat org.apache.felix.scr.impl.inject.methods.BaseMethod.invokeMethod(BaseMethod.java:257)\n\tat org.apache.felix.scr.impl.inject.methods.BaseMethod.access$500(BaseMethod.java:41)\n\tat org.apache.felix.scr.impl.inject.methods.BaseMethod$Resolved.invoke(BaseMethod.java:701)\n\tat org.apache.felix.scr.impl.inject.methods.BaseMethod.invoke(BaseMethod.java:544)\n\tat org.apache.felix.scr.impl.inject.methods.ActivateMethod.invoke(ActivateMethod.java:317)\n\tat org.apache.felix.scr.impl.inject.methods.ActivateMethod.invoke(ActivateMethod.java:307)\n\tat org.apache.felix.scr.impl.manager.SingleComponentManager.createImplementationObject(SingleComponentManager.java:354)\n\tat org.apache.felix.scr.impl.manager.SingleComponentManager.createComponent(SingleComponentManager.java:115)\n\tat org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:1002)\n\tat org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:975)\n\tat org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:920)\n\tat org.apache.felix.framework.ServiceRegistrationImpl.getFactoryUnchecked(ServiceRegistrationImpl.java:349)\n\tat org.apache.felix.framework.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java:249)\n\tat org.apache.felix.framework.ServiceRegistry.getService(ServiceRegistry.java:362)\n\tat org.apache.felix.framework.Felix.getService(Felix.java:3984)\n\tat org.apache.felix.framework.BundleContextImpl.getService(BundleContextImpl.java:450)\n\tat org.apache.felix.scr.impl.manager.SingleRefPair.getServiceObject(SingleRefPair.java:88)\n\tat org.apache.felix.scr.impl.inject.field.FieldHandler$ReferenceMethodImpl.getServiceObject(FieldHandler.java:552)\n\tat org.apache.felix.scr.impl.manager.DependencyManager.getServiceObject(DependencyManager.java:2625)\n\tat org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.prebind(DependencyManager.java:1414)\n\tat org.apache.felix.scr.impl.manager.DependencyManager.prebind(DependencyManager.java:1843)\n\tat org.apache.felix.scr.impl.manager.AbstractComponentManager.collectDependencies(AbstractComponentManager.java:1060)\n\tat org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:955)\n\tat org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:920)\n\tat org.apache.felix.framework.ServiceRegistrationImpl.getFactoryUnchecked(ServiceRegistrationImpl.java:349)\n\tat org.apache.felix.framework.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java:249)\n\tat org.apache.felix.framework.ServiceRegistry.getService(ServiceRegistry.java:362)\n\tat org.apache.felix.framework.Felix.getService(Felix.java:3984)\n\tat org.apache.felix.framework.BundleContextImpl.getService(BundleContextImpl.java:450)\n\tat org.apache.felix.scr.impl.manager.SingleRefPair.getServiceObject(SingleRefPair.java:88)\n\tat org.apache.felix.scr.impl.inject.field.FieldHandler$ReferenceMethodImpl.getServiceObject(FieldHandler.java:552)\n\tat org.apache.felix.scr.impl.manager.DependencyManager.getServiceObject(DependencyManager.java:2625)\n\tat org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.prebind(DependencyManager.java:1414)\n\tat org.apache.felix.scr.impl.manager.DependencyManager.prebind(DependencyManager.java:1843)\n\tat org.apache.felix.scr.impl.manager.AbstractComponentManager.collectDependencies(AbstractComponentManager.java:1060)\n\tat org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:955)\n\tat org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:920)\n\tat org.apache.felix.framework.ServiceRegistrationImpl.getFactoryUnchecked(ServiceRegistrationImpl.java:349)\n\tat org.apache.felix.framework.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java:249)\n\tat org.apache.felix.framework.ServiceRegistry.getService(ServiceRegistry.java:362)\n\tat org.apache.felix.framework.Felix.getService(Felix.java:3984)\n\tat org.apache.felix.framework.BundleContextImpl.getService(BundleContextImpl.java:450)\n\tat org.apache.felix.scr.impl.manager.SingleRefPair.getServiceObject(SingleRefPair.java:88)\n\tat org.apache.felix.scr.impl.inject.field.FieldHandler$ReferenceMethodImpl.getServiceObject(FieldHandler.java:552)\n\tat org.apache.felix.scr.impl.manager.DependencyManager.getServiceObject(DependencyManager.java:2625)\n\tat org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.prebind(DependencyManager.java:1414)\n\tat org.apache.felix.scr.impl.manager.DependencyManager.prebind(DependencyManager.java:1843)\n\tat org.apache.felix.scr.impl.manager.AbstractComponentManager.collectDependencies(AbstractComponentManager.java:1060)\n\tat org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:955)\n\tat org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:920)\n\tat org.apache.felix.framework.ServiceRegistrationImpl.getFactoryUnchecked(ServiceRegistrationImpl.java:349)\n\tat org.apache.felix.framework.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java:249)\n\tat org.apache.felix.framework.ServiceRegistry.getService(ServiceRegistry.java:362)\n\tat org.apache.felix.framework.Felix.getService(Felix.java:3984)\n\tat org.apache.felix.framework.BundleContextImpl.getService(BundleContextImpl.java:450)\n\tat org.apache.felix.scr.impl.manager.SingleRefPair.getServiceObject(SingleRefPair.java:88)\n\tat org.apache.felix.scr.impl.inject.field.FieldHandler$ReferenceMethodImpl.getServiceObject(FieldHandler.java:552)\n\tat org.apache.felix.scr.impl.manager.DependencyManager.getServiceObject(DependencyManager.java:2625)\n\tat org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.prebind(DependencyManager.java:1414)\n\tat org.apache.felix.scr.impl.manager.DependencyManager.prebind(DependencyManager.java:1843)\n\tat org.apache.felix.scr.impl.manager.AbstractComponentManager.collectDependencies(AbstractComponentManager.java:1060)\n\tat org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:955)\n\tat org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:920)\n\tat org.apache.felix.framework.ServiceRegistrationImpl.getFactoryUnchecked(ServiceRegistrationImpl.java:349)\n\tat org.apache.felix.framework.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java:249)\n\tat org.apache.felix.framework.ServiceRegistry.getService(ServiceRegistry.java:362)\n\tat org.apache.felix.framework.Felix.getService(Felix.java:3984)\n\tat org.apache.felix.framework.BundleContextImpl.getService(BundleContextImpl.java:450)\n\tat org.apache.felix.scr.impl.manager.SingleRefPair.getServiceObject(SingleRefPair.java:88)\n\tat org.apache.felix.scr.impl.inject.field.FieldHandler$ReferenceMethodImpl.getServiceObject(FieldHandler.java:552)\n\tat org.apache.felix.scr.impl.manager.DependencyManager.getServiceObject(DependencyManager.java:2625)\n\tat org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.prebind(DependencyManager.java:1414)\n\tat org.apache.felix.scr.impl.manager.DependencyManager.prebind(DependencyManager.java:1843)\n\tat org.apache.felix.scr.impl.manager.AbstractComponentManager.collectDependencies(AbstractComponentManager.java:1060)\n\tat org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:955)\n\tat org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:920)\n\tat org.apache.felix.framework.ServiceRegistrationImpl.getFactoryUnchecked(ServiceRegistrationImpl.java:349)\n\tat org.apache.felix.framework.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java:249)\n\tat org.apache.felix.framework.ServiceRegistry.getService(ServiceRegistry.java:362)\n\tat org.apache.felix.framework.Felix.getService(Felix.java:3984)\n\tat org.apache.felix.framework.BundleContextImpl.getService(BundleContextImpl.java:450)\n\tat org.apache.felix.scr.impl.manager.SingleRefPair.getServiceObject(SingleRefPair.java:88)\n\tat org.apache.felix.scr.impl.inject.methods.BindMethod.getServiceObject(BindMethod.java:675)\n\tat org.apache.felix.scr.impl.manager.DependencyManager.getServiceObject(DependencyManager.java:2625)\n\tat org.apache.felix.scr.impl.manager.DependencyManager$MultipleDynamicCustomizer.prebind(DependencyManager.java:441)\n\tat org.apache.felix.scr.impl.manager.DependencyManager.prebind(DependencyManager.java:1843)\n\tat org.apache.felix.scr.impl.manager.AbstractComponentManager.collectDependencies(AbstractComponentManager.java:1060)\n\tat org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:955)\n\tat org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:920)\n\tat org.apache.felix.framework.ServiceRegistrationImpl.getFactoryUnchecked(ServiceRegistrationImpl.java:349)\n\tat org.apache.felix.framework.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java:249)\n\tat org.apache.felix.framework.ServiceRegistry.getService(ServiceRegistry.java:362)\n\tat org.apache.felix.framework.Felix.getService(Felix.java:3984)\n\tat org.apache.felix.framework.BundleContextImpl.getService(BundleContextImpl.java:450)\n\tat org.apache.felix.scr.impl.manager.SingleRefPair.getServiceObject(SingleRefPair.java:88)\n\tat org.apache.felix.scr.impl.inject.field.FieldHandler$ReferenceMethodImpl.getServiceObject(FieldHandler.java:552)\n\tat org.apache.felix.scr.impl.manager.DependencyManager.getServiceObject(DependencyManager.java:2625)\n\tat org.apache.felix.scr.impl.manager.DependencyManager$SingleDynamicCustomizer.prebind(DependencyManager.java:1189)\n\tat org.apache.felix.scr.impl.manager.DependencyManager.prebind(DependencyManager.java:1843)\n\tat org.apache.felix.scr.impl.manager.AbstractComponentManager.collectDependencies(AbstractComponentManager.java:1060)\n\tat org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:955)\n\tat org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:920)\n\tat org.apache.felix.framework.ServiceRegistrationImpl.getFactoryUnchecked(ServiceRegistrationImpl.java:349)\n\tat org.apache.felix.framework.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java:249)\n\tat org.apache.felix.framework.ServiceRegistry.getService(ServiceRegistry.java:362)\n\tat org.apache.felix.framework.Felix.getService(Felix.java:3984)\n\tat org.apache.felix.framework.BundleContextImpl.getService(BundleContextImpl.java:450)\n\tat org.apache.felix.scr.impl.manager.SingleRefPair.getServiceObject(SingleRefPair.java:88)\n\tat org.apache.felix.scr.impl.inject.field.FieldHandler$ReferenceMethodImpl.getServiceObject(FieldHandler.java:552)\n\tat org.apache.felix.scr.impl.manager.DependencyManager.getServiceObject(DependencyManager.java:2625)\n\tat org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.prebind(DependencyManager.java:1414)\n\tat org.apache.felix.scr.impl.manager.DependencyManager.prebind(DependencyManager.java:1843)\n\tat org.apache.felix.scr.impl.manager.AbstractComponentManager.collectDependencies(AbstractComponentManager.java:1060)\n\tat org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:955)\n\tat org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:920)\n\tat org.apache.felix.framework.ServiceRegistrationImpl.getFactoryUnchecked(ServiceRegistrationImpl.java:349)\n\tat org.apache.felix.framework.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java:249)\n\tat org.apache.felix.framework.ServiceRegistry.getService(ServiceRegistry.java:362)\n\tat org.apache.felix.framework.Felix.getService(Felix.java:3984)\n\tat org.apache.felix.framework.BundleContextImpl.getService(BundleContextImpl.java:450)\n\tat org.apache.felix.scr.impl.manager.SingleRefPair.getServiceObject(SingleRefPair.java:88)\n\tat org.apache.felix.scr.impl.inject.methods.BindMethod.getServiceObject(BindMethod.java:675)\n\tat org.apache.felix.scr.impl.manager.DependencyManager.getServiceObject(DependencyManager.java:2625)\n\tat org.apache.felix.scr.impl.manager.DependencyManager.doInvokeBindMethod(DependencyManager.java:2091)\n\tat org.apache.felix.scr.impl.manager.DependencyManager.invokeBindMethod(DependencyManager.java:2074)\n\tat org.apache.felix.scr.impl.manager.SingleComponentManager.invokeBindMethod(SingleComponentManager.java:443)\n\tat org.apache.felix.scr.impl.manager.DependencyManager$MultipleDynamicCustomizer.addedService(DependencyManager.java:337)\n\tat org.apache.felix.scr.impl.manager.DependencyManager$MultipleDynamicCustomizer.addedService(DependencyManager.java:304)\n\tat org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1232)\n\tat org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1152)\n\tat org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.trackAdding(ServiceTracker.java:959)\n\tat org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.track(ServiceTracker.java:895)\n\tat org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:1184)\n\tat org.apache.felix.scr.impl.BundleComponentActivator$ListenerInfo.serviceChanged(BundleComponentActivator.java:117)\n\tat org.apache.felix.framework.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:990)\n\tat org.apache.felix.framework.EventDispatcher.fireEventImmediately(EventDispatcher.java:838)\n\tat org.apache.felix.framework.EventDispatcher.fireServiceEvent(EventDispatcher.java:545)\n\tat org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:4863)\n\tat org.apache.felix.framework.Felix.registerService(Felix.java:3834)\n\tat org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:328)\n\tat org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:929)\n\tat org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:915)\n\tat org.apache.felix.scr.impl.manager.RegistrationManager.changeRegistration(RegistrationManager.java:133)\n\tat org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:984)\n\tat org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:752)\n\tat org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.addedService(DependencyManager.java:1287)\n\tat org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.addedService(DependencyManager.java:1238)\n\tat org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1232)\n\tat org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1152)\n\tat org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.trackAdding(ServiceTracker.java:959)\n\tat org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.track(ServiceTracker.java:895)\n\tat org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:1184)\n\tat org.apache.felix.scr.impl.BundleComponentActivator$ListenerInfo.serviceChanged(BundleComponentActivator.java:117)\n\tat org.apache.felix.framework.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:990)\n\tat org.apache.felix.framework.EventDispatcher.fireEventImmediately(EventDispatcher.java:838)\n\tat org.apache.felix.framework.EventDispatcher.fireServiceEvent(EventDispatcher.java:545)\n\tat org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:4863)\n\tat org.apache.felix.framework.Felix.registerService(Felix.java:3834)\n\tat org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:328)\n\tat org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:929)\n\tat org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:915)\n\tat org.apache.felix.scr.impl.manager.RegistrationManager.changeRegistration(RegistrationManager.java:133)\n\tat org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:984)\n\tat org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:752)\n\tat org.apache.felix.scr.impl.manager.DependencyManager$SingleDynamicCustomizer.addedService(DependencyManager.java:861)\n\tat org.apache.felix.scr.impl.manager.DependencyManager$SingleDynamicCustomizer.addedService(DependencyManager.java:816)\n\tat org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1232)\n\tat org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1152)\n\tat org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.trackAdding(ServiceTracker.java:959)\n\tat org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.track(ServiceTracker.java:895)\n\tat org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:1184)\n\tat org.apache.felix.scr.impl.BundleComponentActivator$ListenerInfo.serviceChanged(BundleComponentActivator.java:117)\n\tat org.apache.felix.framework.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:990)\n\tat org.apache.felix.framework.EventDispatcher.fireEventImmediately(EventDispatcher.java:838)\n\tat org.apache.felix.framework.EventDispatcher.fireServiceEvent(EventDispatcher.java:545)\n\tat org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:4863)\n\tat org.apache.felix.framework.Felix.registerService(Felix.java:3834)\n\tat org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:328)\n\tat org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:929)\n\tat org.apache.felix.scr.impl.manager.AbstractComponentManager$3.register(AbstractComponentManager.java:915)\n\tat org.apache.felix.scr.impl.manager.RegistrationManager.changeRegistration(RegistrationManager.java:133)\n\tat org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:984)\n\tat org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:752)\n\tat org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.addedService(DependencyManager.java:1287)\n\tat org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.addedService(DependencyManager.java:1238)\n\tat org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1232)\n\tat org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1152)\n\tat org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.trackAdding(ServiceTracker.java:959)\n\tat org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.track(ServiceTracker.java:895)\n\tat org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:1184)\n\tat org.apache.felix.scr.impl.BundleComponentActivator$ListenerInfo.serviceChanged(BundleComponentActivator.java:117)\n\tat org.apache.felix.framework.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:990)\n\tat org.apache.felix.framework.EventDispatcher.fireEventImmediately(EventDispatcher.java:838)\n\tat org.apache.felix.framework.EventDispatcher.fireServiceEvent(EventDispatcher.java:545)\n\tat org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:4863)\n\tat org.apache.felix.framework.Felix.registerService(Felix.java:3834)\n\tat org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:328)\n\tat org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:335)\n\tat org.apache.sling.engine.impl.helper.SlingServletContext.registerServletContext(SlingServletContext.java:217)\n\tat org.apache.sling.engine.impl.helper.SlingServletContext.lambda$contextInitialized$0(SlingServletContext.java:248)\n\tat java.base/java.lang.Thread.run(Thread.java:1583)\n",

 

Topics

Topics help categorize Community content and increase your ability to discover relevant content.

3 Replies

Avatar

Level 9

hi @RaviRa22, have a look at this article on how to embed third-party dependency.

Avatar

Level 2

You are:

  • Using nu.xom extensively for XML handling.

  • On Java 11 locally where it works because you control the JVM options.

  • Deploying to AEM as a Cloud Service, where:

    • You cannot modify the JVM arguments (like --add-exports).

    • Access to internal JDK packages (like com.sun.org.apache.xerces.internal.parsers.SAXParser) is strictly blocked.

    • Hence, XOM fails to load and causes OSGi component activation failure.

You must move away from XOM

  • XOM relies on internal JDK classes which are blocked in cloud JVM environments.

  • AEMaaCS enforces strict security and modularization, and you cannot override or open up internal packages.

  • Therefore, continuing to use XOM is not feasible in AEM Cloud.

Solution: Migrate to a Cloud-Safe XML Library

Step 1: Choose a Replacement Library

Here are solid, supported, and cloud-safe alternatives:

Use Case Recommended Alternative

Simple XML parsingjavax.xml.parsers (JAXP)
Advanced DOM handlingJDOM2 (https://www.jdom.org)
Streaming large XML filesStAX (javax.xml.stream)
XPath processingjavax.xml.xpath

JDOM2 is a great replacement for XOM—clean API and actively maintained.


Step 2: Plan the Migration

Since you mentioned “huge number of classes using XOM”, consider:

Migration Strategy:

  1. Introduce a wrapper utility (e.g., XmlUtil) using new APIs.

  2. Refactor incrementally: Convert XOM-dependent classes one module or feature at a time.

  3. Use adapter methods: Write temporary shims that convert between XOM and JDOM if needed during migration.

  4. Add unit tests: Ensure existing XML logic behaves the same with new parser.

 

Avatar

Administrator

@RaviRa22 Did you find the suggestion helpful? If you need more information, please let us know. If a response resolved your issue, kindly mark it as correct to help others in the future. Alternatively, if you discovered a solution on your own, we'd appreciate it if you could share it with the community. Thank you.



Kautuk Sahni