Wednesday, October 16, 2019

org.osgi.framework.BundleException: Exported package names cannot be zero length - AEM Installation Issue

I was getting the below error in stderr.log file while trying to start the AEM(AEM 6.3) for the first time.

org.osgi.framework.BundleException: Exported package names cannot be zero length.
at org.apache.felix.framework.util.manifestparser.ManifestParser.normalizeExportClauses(ManifestParser.java:898)
at org.apache.felix.framework.util.manifestparser.ManifestParser.<init>(ManifestParser.java:216)
at org.apache.felix.framework.ExtensionManager.<init>(ExtensionManager.java:250)
at org.apache.felix.framework.Felix.<init>(Felix.java:429)
at org.apache.sling.launchpad.base.impl.SlingFelix.<init>(SlingFelix.java:49)
at org.apache.sling.launchpad.base.impl.Sling.createFramework(Sling.java:341)
at org.apache.sling.launchpad.base.impl.Sling.<init>(Sling.java:210)
at org.apache.sling.launchpad.base.app.MainDelegate$1.<init>(MainDelegate.java:180)
at org.apache.sling.launchpad.base.app.MainDelegate.start(MainDelegate.java:180)
at org.apache.sling.launchpad.app.Main.doStart(Main.java:411)
at org.apache.sling.launchpad.app.Main.doStart(Main.java:347)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at com.adobe.granite.quickstart.base.impl.exec.Bootstrap.run(Bootstrap.java:105)
at com.adobe.granite.quickstart.base.impl.Quickstart.run(Quickstart.java:273)
at com.adobe.granite.quickstart.base.impl.Main.<init>(Main.java:897)
at com.adobe.granite.quickstart.base.impl.Main.main(Main.java:959)
15.10.2019 22:35:56.252 *ERROR* [FelixStartLevel] ERROR: Bundle '1' Error starting slinginstall:C:\Albin\AEMPlatform\AEM\6.3\crx-quickstart\launchpad\startup\1\com.adobe.granite.crypto-3.4.8.jar (org.osgi.framework.BundleException: Unable to resolve com.adobe.granite.crypto [1](R 1.0): missing requirement [com.adobe.granite.crypto [1](R 1.0)] osgi.wiring.package; (osgi.wiring.package=javax.security.auth.x500) Unresolved requirements: [[com.adobe.granite.crypto [1](R 1.0)] osgi.wiring.package; (osgi.wiring.package=javax.security.auth.x500)])
org.osgi.framework.BundleException: Unable to resolve com.adobe.granite.crypto [1](R 1.0): missing requirement [com.adobe.granite.crypto [1](R 1.0)] osgi.wiring.package; (osgi.wiring.package=javax.security.auth.x500) Unresolved requirements: [[com.adobe.granite.crypto [1](R 1.0)] osgi.wiring.package; (osgi.wiring.package=javax.security.auth.x500)]
at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:4112)
at org.apache.felix.framework.Felix.startBundle(Felix.java:2118)
at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1372)
at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:308)
at java.base/java.lang.Thread.run(Thread.java:834)
15.10.2019 22:35:56.253 *ERROR* [FelixStartLevel] ERROR: Bundle '2' Error starting slinginstall:C:\Albin\AEMPlatform\AEM\6.3\crx-quickstart\launchpad\startup\1\com.adobe.granite.startup-0.6.2.jar (org.osgi.framework.BundleException: Unable to resolve com.adobe.granite.startup [2](R 2.0): missing requirement [com.adobe.granite.startup [2](R 2.0)] osgi.wiring.package; (osgi.wiring.package=javax.management) Unresolved requirements: [[com.adobe.granite.startup [2](R 2.0)] osgi.wiring.package; (osgi.wiring.package=javax.management)])
org.osgi.framework.BundleException: Unable to resolve com.adobe.granite.startup [2](R 2.0): missing requirement [com.adobe.granite.startup [2](R 2.0)] osgi.wiring.package; (osgi.wiring.package=javax.management) Unresolved requirements: [[com.adobe.granite.startup [2](R 2.0)] osgi.wiring.package; (osgi.wiring.package=javax.management)]
at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:4112)
at org.apache.felix.framework.Felix.startBundle(Felix.java:2118)
at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1372)
at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:308)
at java.base/java.lang.Thread.run(Thread.java:834)
15.10.2019 22:35:56.254 *ERROR* [FelixStartLevel] ERROR: Bundle '3' Error starting slinginstall:C:\Albin\AEMPlatform\AEM\6.3\crx-quickstart\launchpad\startup\1\commons-io-2.5.jar (org.osgi.framework.BundleException: Unable to resolve org.apache.commons.io [3](R 3.0): missing requirement [org.apache.commons.io [3](R 3.0)] osgi.ee; (&(osgi.ee=JavaSE)(version=1.6)) Unresolved requirements: [[org.apache.commons.io [3](R 3.0)] osgi.ee; (&(osgi.ee=JavaSE)(version=1.6))])
org.osgi.framework.BundleException: Unable to resolve org.apache.commons.io [3](R 3.0): missing requirement [org.apache.commons.io [3](R 3.0)] osgi.ee; (&(osgi.ee=JavaSE)(version=1.6)) Unresolved requirements: [[org.apache.commons.io [3](R 3.0)] osgi.ee; (&(osgi.ee=JavaSE)(version=1.6))]
at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:4112)
at org.apache.felix.framework.Felix.startBundle(Felix.java:2118)
at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1372)
at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:308)
at java.base/java.lang.Thread.run(Thread.java:834)
15.10.2019 22:35:56.255 *ERROR* [FelixStartLevel] ERROR: Bundle '4' Error starting slinginstall:C:\Albin\AEMPlatform\AEM\6.3\crx-quickstart\launchpad\startup\1\jcl-over-slf4j-1.7.21.jar (org.osgi.framework.BundleException: Unable to resolve jcl.over.slf4j [4](R 4.0): missing requirement [jcl.over.slf4j [4](R 4.0)] osgi.wiring.package; (&(osgi.wiring.package=org.slf4j.spi)(version>=1.7.21)) [caused by: Unable to resolve slf4j.api [19](R 19.0): missing requirement [slf4j.api [19](R 19.0)] osgi.ee; (&(osgi.ee=JavaSE)(version=1.5.0))] Unresolved requirements: [[jcl.over.slf4j [4](R 4.0)] osgi.wiring.package; (&(osgi.wiring.package=org.slf4j.spi)(version>=1.7.21))])
org.osgi.framework.BundleException: Unable to resolve jcl.over.slf4j [4](R 4.0): missing requirement [jcl.over.slf4j [4](R 4.0)] osgi.wiring.package; (&(osgi.wiring.package=org.slf4j.spi)(version>=1.7.21)) [caused by: Unable to resolve slf4j.api [19](R 19.0): missing requirement [slf4j.api [19](R 19.0)] osgi.ee; (&(osgi.ee=JavaSE)(version=1.5.0))] Unresolved requirements: [[jcl.over.slf4j [4](R 4.0)] osgi.wiring.package; (&(osgi.wiring.package=org.slf4j.spi)(version>=1.7.21))]
at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:4112)
at org.apache.felix.framework.Felix.startBundle(Felix.java:2118)
at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1372)
at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:308)
at java.base/java.lang.Thread.run(Thread.java:834)
15.10.2019 22:35:56.256 *ERROR* [FelixStartLevel] ERROR: Bundle '5' Error starting slinginstall:C:\Albin\AEMPlatform\AEM\6.3\crx-quickstart\launchpad\startup\1\log4j-over-slf4j-1.7.21.jar (org.osgi.framework.BundleException: Unable to resolve log4j.over.slf4j [5](R 5.0): missing requirement [log4j.over.slf4j [5](R 5.0)] osgi.wiring.package; (&(osgi.wiring.package=org.slf4j.helpers)(version>=1.6.0)) [caused by: Unable to resolve slf4j.api [19](R 19.0): missing requirement [slf4j.api [19](R 19.0)] osgi.ee; (&(osgi.ee=JavaSE)(version=1.5.0))] Unresolved requirements: [[log4j.over.slf4j [5](R 5.0)] osgi.wiring.package; (&(osgi.wiring.package=org.slf4j.helpers)(version>=1.6.0))])
org.osgi.framework.BundleException: Unable to resolve log4j.over.slf4j [5](R 5.0): missing requirement [log4j.over.slf4j [5](R 5.0)] osgi.wiring.package; (&(osgi.wiring.package=org.slf4j.helpers)(version>=1.6.0)) [caused by: Unable to resolve slf4j.api [19](R 19.0): missing requirement [slf4j.api [19](R 19.0)] osgi.ee; (&(osgi.ee=JavaSE)(version=1.5.0))] Unresolved requirements: [[log4j.over.slf4j [5](R 5.0)] osgi.wiring.package; (&(osgi.wiring.package=org.slf4j.helpers)(version>=1.6.0))]
at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:4112)
at org.apache.felix.framework.Felix.startBundle(Felix.java:2118)
at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1372)
at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:308)
at java.base/java.lang.Thread.run(Thread.java:834)
15.10.2019 22:35:56.257 *ERROR* [FelixStartLevel] ERROR: Bundle '6' Error starting slinginstall:C:\Albin\AEMPlatform\AEM\6.3\crx-quickstart\launchpad\startup\1\org.apache.aries.util-1.1.1.jar (org.osgi.framework.BundleException: Unable to resolve org.apache.aries.util [6](R 6.0): missing requirement [org.apache.aries.util [6](R 6.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.framework)(version>=1.6.0)(!(version>=2.0.0))) Unresolved requirements: [[org.apache.aries.util [6](R 6.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.framework)(version>=1.6.0)(!(version>=2.0.0)))])
org.osgi.framework.BundleException: Unable to resolve org.apache.aries.util [6](R 6.0): missing requirement [org.apache.aries.util [6](R 6.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.framework)(version>=1.6.0)(!(version>=2.0.0))) Unresolved requirements: [[org.apache.aries.util [6](R 6.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.framework)(version>=1.6.0)(!(version>=2.0.0)))]
at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:4112)
at org.apache.felix.framework.Felix.startBundle(Felix.java:2118)
at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1372)
at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:308)
at java.base/java.lang.Thread.run(Thread.java:834)
15.10.2019 22:35:56.258 *ERROR* [FelixStartLevel] ERROR: Bundle '7' Error starting slinginstall:C:\Albin\AEMPlatform\AEM\6.3\crx-quickstart\launchpad\startup\1\org.apache.felix.configadmin-1.9.0-B002.jar (org.osgi.framework.BundleException: Unable to resolve org.apache.felix.configadmin [7](R 7.0): missing requirement [org.apache.felix.configadmin [7](R 7.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.framework)(version>=1.8.0)(!(version>=2.0.0))) Unresolved requirements: [[org.apache.felix.configadmin [7](R 7.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.framework)(version>=1.8.0)(!(version>=2.0.0)))])
org.osgi.framework.BundleException: Unable to resolve org.apache.felix.configadmin [7](R 7.0): missing requirement [org.apache.felix.configadmin [7](R 7.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.framework)(version>=1.8.0)(!(version>=2.0.0))) Unresolved requirements: [[org.apache.felix.configadmin [7](R 7.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.framework)(version>=1.8.0)(!(version>=2.0.0)))]
at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:4112)
at org.apache.felix.framework.Felix.startBundle(Felix.java:2118)
at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1372)
at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:308)
at java.base/java.lang.Thread.run(Thread.java:834)
15.10.2019 22:35:56.259 *ERROR* [FelixStartLevel] ERROR: Bundle '8' Error starting slinginstall:C:\Albin\AEMPlatform\AEM\6.3\crx-quickstart\launchpad\startup\1\org.apache.felix.coordinator-1.0.2.jar (org.osgi.framework.BundleException: Unable to resolve org.apache.felix.coordinator [8](R 8.0): missing requirement [org.apache.felix.coordinator [8](R 8.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.framework)(version>=1.6.0)(!(version>=2.0.0))) Unresolved requirements: [[org.apache.felix.coordinator [8](R 8.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.framework)(version>=1.6.0)(!(version>=2.0.0)))])
org.osgi.framework.BundleException: Unable to resolve org.apache.felix.coordinator [8](R 8.0): missing requirement [org.apache.felix.coordinator [8](R 8.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.framework)(version>=1.6.0)(!(version>=2.0.0))) Unresolved requirements: [[org.apache.felix.coordinator [8](R 8.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.framework)(version>=1.6.0)(!(version>=2.0.0)))]
at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:4112)
at org.apache.felix.framework.Felix.startBundle(Felix.java:2118)
at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1372)
at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:308)
at java.base/java.lang.Thread.run(Thread.java:834)
15.10.2019 22:35:56.260 *ERROR* [FelixStartLevel] ERROR: Bundle '9' Error starting slinginstall:C:\Albin\AEMPlatform\AEM\6.3\crx-quickstart\launchpad\startup\1\org.apache.sling.commons.log-5.0.0.jar (org.osgi.framework.BundleException: Unable to resolve org.apache.sling.commons.log [9](R 9.0): missing requirement [org.apache.sling.commons.log [9](R 9.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.framework)(version>=1.3.0)) Unresolved requirements: [[org.apache.sling.commons.log [9](R 9.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.framework)(version>=1.3.0))])
org.osgi.framework.BundleException: Unable to resolve org.apache.sling.commons.log [9](R 9.0): missing requirement [org.apache.sling.commons.log [9](R 9.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.framework)(version>=1.3.0)) Unresolved requirements: [[org.apache.sling.commons.log [9](R 9.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.framework)(version>=1.3.0))]
at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:4112)
at org.apache.felix.framework.Felix.startBundle(Felix.java:2118)
at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1372)
at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:308)
at java.base/java.lang.Thread.run(Thread.java:834)
15.10.2019 22:35:56.260 *ERROR* [FelixStartLevel] ERROR: Bundle '10' Error starting slinginstall:C:\Albin\AEMPlatform\AEM\6.3\crx-quickstart\launchpad\startup\1\org.apache.sling.commons.logservice-1.0.6.jar (org.osgi.framework.BundleException: Unable to resolve org.apache.sling.commons.logservice [10](R 10.0): missing requirement [org.apache.sling.commons.logservice [10](R 10.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.framework)(version>=1.5.0)(!(version>=2.0.0))) Unresolved requirements: [[org.apache.sling.commons.logservice [10](R 10.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.framework)(version>=1.5.0)(!(version>=2.0.0)))])
org.osgi.framework.BundleException: Unable to resolve org.apache.sling.commons.logservice [10](R 10.0): missing requirement [org.apache.sling.commons.logservice [10](R 10.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.framework)(version>=1.5.0)(!(version>=2.0.0))) Unresolved requirements: [[org.apache.sling.commons.logservice [10](R 10.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.framework)(version>=1.5.0)(!(version>=2.0.0)))]
at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:4112)
at org.apache.felix.framework.Felix.startBundle(Felix.java:2118)
at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1372)
at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:308)
at java.base/java.lang.Thread.run(Thread.java:834)
15.10.2019 22:35:56.260 *ERROR* [FelixStartLevel] ERROR: Bundle '13' Error starting slinginstall:C:\Albin\AEMPlatform\AEM\6.3\crx-quickstart\launchpad\startup\1\org.apache.sling.installer.core-3.8.6.jar (org.osgi.framework.BundleException: Unable to resolve org.apache.sling.installer.core [13](R 13.0): missing requirement [org.apache.sling.installer.core [13](R 13.0)] osgi.wiring.package; (osgi.wiring.package=javax.annotation) Unresolved requirements: [[org.apache.sling.installer.core [13](R 13.0)] osgi.wiring.package; (osgi.wiring.package=javax.annotation)])
org.osgi.framework.BundleException: Unable to resolve org.apache.sling.installer.core [13](R 13.0): missing requirement [org.apache.sling.installer.core [13](R 13.0)] osgi.wiring.package; (osgi.wiring.package=javax.annotation) Unresolved requirements: [[org.apache.sling.installer.core [13](R 13.0)] osgi.wiring.package; (osgi.wiring.package=javax.annotation)]
at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:4112)
at org.apache.felix.framework.Felix.startBundle(Felix.java:2118)
at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1372)
at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:308)
at java.base/java.lang.Thread.run(Thread.java:834)
15.10.2019 22:35:56.261 *ERROR* [FelixStartLevel] ERROR: Bundle '14' Error starting slinginstall:C:\Albin\AEMPlatform\AEM\6.3\crx-quickstart\launchpad\startup\1\org.apache.sling.installer.factory.configuration-1.1.2.jar (org.osgi.framework.BundleException: Unable to resolve org.apache.sling.installer.factory.configuration [14](R 14.0): missing requirement [org.apache.sling.installer.factory.configuration [14](R 14.0)] osgi.wiring.package; (&(osgi.wiring.package=org.apache.sling.installer.api.tasks)(version>=1.3.0)(!(version>=2.0.0))) [caused by: Unable to resolve org.apache.sling.installer.core [13](R 13.0): missing requirement [org.apache.sling.installer.core [13](R 13.0)] osgi.wiring.package; (osgi.wiring.package=javax.annotation)] Unresolved requirements: [[org.apache.sling.installer.factory.configuration [14](R 14.0)] osgi.wiring.package; (&(osgi.wiring.package=org.apache.sling.installer.api.tasks)(version>=1.3.0)(!(version>=2.0.0)))])
org.osgi.framework.BundleException: Unable to resolve org.apache.sling.installer.factory.configuration [14](R 14.0): missing requirement [org.apache.sling.installer.factory.configuration [14](R 14.0)] osgi.wiring.package; (&(osgi.wiring.package=org.apache.sling.installer.api.tasks)(version>=1.3.0)(!(version>=2.0.0))) [caused by: Unable to resolve org.apache.sling.installer.core [13](R 13.0): missing requirement [org.apache.sling.installer.core [13](R 13.0)] osgi.wiring.package; (osgi.wiring.package=javax.annotation)] Unresolved requirements: [[org.apache.sling.installer.factory.configuration [14](R 14.0)] osgi.wiring.package; (&(osgi.wiring.package=org.apache.sling.installer.api.tasks)(version>=1.3.0)(!(version>=2.0.0)))]
at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:4112)
at org.apache.felix.framework.Felix.startBundle(Felix.java:2118)
at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1372)
at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:308)
at java.base/java.lang.Thread.run(Thread.java:834)
15.10.2019 22:35:56.262 *ERROR* [FelixStartLevel] ERROR: Bundle '15' Error starting slinginstall:C:\Albin\AEMPlatform\AEM\6.3\crx-quickstart\launchpad\startup\1\org.apache.sling.installer.provider.file-1.1.0.jar (org.osgi.framework.BundleException: Unable to resolve org.apache.sling.installer.provider.file [15](R 15.0): missing requirement [org.apache.sling.installer.provider.file [15](R 15.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.framework)(version>=1.4.0)(!(version>=2.0.0))) Unresolved requirements: [[org.apache.sling.installer.provider.file [15](R 15.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.framework)(version>=1.4.0)(!(version>=2.0.0)))])
org.osgi.framework.BundleException: Unable to resolve org.apache.sling.installer.provider.file [15](R 15.0): missing requirement [org.apache.sling.installer.provider.file [15](R 15.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.framework)(version>=1.4.0)(!(version>=2.0.0))) Unresolved requirements: [[org.apache.sling.installer.provider.file [15](R 15.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.framework)(version>=1.4.0)(!(version>=2.0.0)))]
at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:4112)
at org.apache.felix.framework.Felix.startBundle(Felix.java:2118)
at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1372)
at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:308)
at java.base/java.lang.Thread.run(Thread.java:834)
15.10.2019 22:35:56.263 *ERROR* [FelixStartLevel] ERROR: Bundle '16' Error starting slinginstall:C:\Albin\AEMPlatform\AEM\6.3\crx-quickstart\launchpad\startup\1\org.apache.sling.javax.activation-0.1.0.jar (org.osgi.framework.BundleException: Unable to resolve org.apache.sling.javax.activation [16](R 16.0): missing requirement [org.apache.sling.javax.activation [16](R 16.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.framework)(version>=1.4.0)(!(version>=2.0.0))) Unresolved requirements: [[org.apache.sling.javax.activation [16](R 16.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.framework)(version>=1.4.0)(!(version>=2.0.0)))])
org.osgi.framework.BundleException: Unable to resolve org.apache.sling.javax.activation [16](R 16.0): missing requirement [org.apache.sling.javax.activation [16](R 16.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.framework)(version>=1.4.0)(!(version>=2.0.0))) Unresolved requirements: [[org.apache.sling.javax.activation [16](R 16.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.framework)(version>=1.4.0)(!(version>=2.0.0)))]
at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:4112)
at org.apache.felix.framework.Felix.startBundle(Felix.java:2118)
at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1372)
at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:308)
at java.base/java.lang.Thread.run(Thread.java:834)
15.10.2019 22:35:56.263 *ERROR* [FelixStartLevel] ERROR: Bundle '17' Error starting slinginstall:C:\Albin\AEMPlatform\AEM\6.3\crx-quickstart\launchpad\startup\1\org.apache.sling.launchpad.installer-1.2.2.jar (org.osgi.framework.BundleException: Unable to resolve org.apache.sling.launchpad.installer [17](R 17.0): missing requirement [org.apache.sling.launchpad.installer [17](R 17.0)] osgi.wiring.package; (&(osgi.wiring.package=org.apache.sling.installer.api.event)(version>=1.0.0)(!(version>=2.0.0))) [caused by: Unable to resolve org.apache.sling.installer.core [13](R 13.0): missing requirement [org.apache.sling.installer.core [13](R 13.0)] osgi.wiring.package; (osgi.wiring.package=javax.annotation)] Unresolved requirements: [[org.apache.sling.launchpad.installer [17](R 17.0)] osgi.wiring.package; (&(osgi.wiring.package=org.apache.sling.installer.api.event)(version>=1.0.0)(!(version>=2.0.0)))])
org.osgi.framework.BundleException: Unable to resolve org.apache.sling.launchpad.installer [17](R 17.0): missing requirement [org.apache.sling.launchpad.installer [17](R 17.0)] osgi.wiring.package; (&(osgi.wiring.package=org.apache.sling.installer.api.event)(version>=1.0.0)(!(version>=2.0.0))) [caused by: Unable to resolve org.apache.sling.installer.core [13](R 13.0): missing requirement [org.apache.sling.installer.core [13](R 13.0)] osgi.wiring.package; (osgi.wiring.package=javax.annotation)] Unresolved requirements: [[org.apache.sling.launchpad.installer [17](R 17.0)] osgi.wiring.package; (&(osgi.wiring.package=org.apache.sling.installer.api.event)(version>=1.0.0)(!(version>=2.0.0)))]
at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:4112)
at org.apache.felix.framework.Felix.startBundle(Felix.java:2118)
at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1372)
at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:308)
at java.base/java.lang.Thread.run(Thread.java:834)
15.10.2019 22:35:56.264 *ERROR* [FelixStartLevel] ERROR: Bundle '18' Error starting slinginstall:C:\Albin\AEMPlatform\AEM\6.3\crx-quickstart\launchpad\startup\1\org.apache.sling.settings-1.3.8.jar (org.osgi.framework.BundleException: Unable to resolve org.apache.sling.settings [18](R 18.0): missing requirement [org.apache.sling.settings [18](R 18.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.framework)(version>=1.4.0)(!(version>=2.0.0))) Unresolved requirements: [[org.apache.sling.settings [18](R 18.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.framework)(version>=1.4.0)(!(version>=2.0.0)))])
org.osgi.framework.BundleException: Unable to resolve org.apache.sling.settings [18](R 18.0): missing requirement [org.apache.sling.settings [18](R 18.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.framework)(version>=1.4.0)(!(version>=2.0.0))) Unresolved requirements: [[org.apache.sling.settings [18](R 18.0)] osgi.wiring.package; (&(osgi.wiring.package=org.osgi.framework)(version>=1.4.0)(!(version>=2.0.0)))]
at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:4112)
at org.apache.felix.framework.Felix.startBundle(Felix.java:2118)
at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1372)
at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:308)
at java.base/java.lang.Thread.run(Thread.java:834)
15.10.2019 22:35:56.265 *ERROR* [FelixStartLevel] ERROR: Bundle '19' Error starting slinginstall:C:\Albin\AEMPlatform\AEM\6.3\crx-quickstart\launchpad\startup\1\slf4j-api-1.7.21.jar (org.osgi.framework.BundleException: Unable to resolve slf4j.api [19](R 19.0): missing requirement [slf4j.api [19](R 19.0)] osgi.ee; (&(osgi.ee=JavaSE)(version=1.5.0)) Unresolved requirements: [[slf4j.api [19](R 19.0)] osgi.ee; (&(osgi.ee=JavaSE)(version=1.5.0))])
org.osgi.framework.BundleException: Unable to resolve slf4j.api [19](R 19.0): missing requirement [slf4j.api [19](R 19.0)] osgi.ee; (&(osgi.ee=JavaSE)(version=1.5.0)) Unresolved requirements: [[slf4j.api [19](R 19.0)] osgi.ee; (&(osgi.ee=JavaSE)(version=1.5.0))]
at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:4112)
at org.apache.felix.framework.Felix.startBundle(Felix.java:2118)
at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1372)
at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:308)
at java.base/java.lang.Thread.run(Thread.java:834)
CHILD process: shutdown hook
CHILD process: exiting

I was starting the server by double clicking on the quickstart jar, the startup process was struck without completion and also the error.log file was not generated.

AEM-quickstart-installation-struck

The issue was started after recent installation of Java 11 to the machine, there was no luck even after pointing the JAVA_HOME and PATH environment variables to Java 8(AEM 6.3 supported Java 1.8).

To overcome the issue start the quickstart jar through command line interface - java -jar aem-author-p4502.jar

AEM-quickstart-installation

Before executing the command ensure JAVA_HOME and PATH environment variables are pointing to the supported Java version - Java 1.8 for AEM 6.3

AEM-quickstart-installation



Thursday, July 4, 2019

How to design the AEM website using Editable Template and Layout Container

How to design the AEM website using Editable Template and Layout Container

This video explains How to design the AEM website using Editable Template and Layout Container




Tuesday, June 25, 2019

How to add a custom thumbnail to AEM(Adobe Experience Manager) content packages?

This post explains the steps to add a custom thumbnail to AEM(Adobe Experience Manager) content packages.

Create an image named thumbnail.png -the recommended dimensions are 64 x 64 pixels.

Create a new folder named definition under: <ui.apps or ui.content>/src/main/content/META-INF/vault/definition

Add the thumbnail to the definition folder.

Inside the definition folder, add a file named .content.xml. Populate it with the following:

 <?xml version="1.0" encoding="UTF-8"?>
 <jcr:root xmlns:vlt="http://www.day.com/jcr/vault/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0" xmlns:nt="http://www.jcp.org/jcr/nt/1.0">
     <thumbnail.png/>
 </jcr:root>

Custom-thumbnail-aem-content-packages

 Build&deploy the package - mvn clean install -PautoInstallPackage

 Verify the custom thumbnail from package manager.

Custom-thumbnail-aem-content-packages



Saturday, June 22, 2019

Error extracting plugin descriptor: 'Goal: * already exists in the plugin descriptor for prefix: *

 Error extracting plugin descriptor: 'Goal: validate already exists in the plugin descriptor for prefix: test

I was getting the below error while installing the Maven plugin - mvn clean install

maven-plugin-error

org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-plugin-plugin:3.2:descriptor (default-descriptor) on project test: Error extracting plugin descriptor: 'Goal: validate already exists in the plugin descriptor for prefix: test
Existing implementation is: test.MyMojo
Conflicting implementation is: test.MyMojo'
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:213)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:154)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:146)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:51)

The configurations are below

MyMojo.java

import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugins.annotations.LifecyclePhase;
import org.apache.maven.plugins.annotations.Mojo;
import org.apache.maven.plugins.annotations.Parameter;

/**
 * Goal which validate the content.
 * @goal validate
 * @phase VERIFY
 */

@Mojo (name="validate", defaultPhase=LifecyclePhase.VERIFY, requiresProject=false )
public class MyMojo extends AbstractMojo
{
    @Parameter (property="message", defaultValue="Default Message")
    private String message;

    public void execute() throws MojoExecutionException
    {
        System.console().writer().println(message);
    }
}

Pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>test</groupId>
  <artifactId>test</artifactId>
  <packaging>maven-plugin</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>test Maven Mojo</name>
  <url>http://maven.apache.org</url>
  
    <properties>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
  </properties>
  
  <dependencies>
    <dependency>
      <groupId>org.apache.maven</groupId>
      <artifactId>maven-plugin-api</artifactId>
      <version>3.0</version>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  <dependency>
      <groupId>org.apache.maven.plugin-tools</groupId>
      <artifactId>maven-plugin-annotations</artifactId>
      <version>3.4</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.maven</groupId>
      <artifactId>maven-core</artifactId>
      <version>3.2.5</version>
      <scope>provided</scope>
    </dependency>
  </dependencies>
</project>

After analysis, the root cause is @goal validate in the Java annotation and the @Mojo setting (name="validate") generating the same goal - validate and failing with the duplicate exception.

/**
 * Goal which validate the content.
 * @goal validate
 * @phase VERIFY
 */

@Mojo (name="validate", defaultPhase=LifecyclePhase.VERIFY, requiresProject=false )

The deployment is success after removing the @goal validate from the java annotation.

import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugins.annotations.LifecyclePhase;
import org.apache.maven.plugins.annotations.Mojo;
import org.apache.maven.plugins.annotations.Parameter;

/**
 * Goal which validate the content.
 * @phase VERIFY
 */

@Mojo (name="validate", defaultPhase=LifecyclePhase.VERIFY, requiresProject=false )
public class MyMojo extends AbstractMojo
{
    @Parameter (property="message", defaultValue="Default Message")
    private String message;

    public void execute() throws MojoExecutionException
    {
        System.console().writer().println(message);
    }
}



Friday, June 21, 2019

How to expose Restful Services through JAX-RS(Jersey) in AEM

How to expose Restful Services through JAX-RS(Jersey) in AEM


JAX-RS is a specification that provides portable API’s for developing, exposing and accessing web applications designed and implemented in compliance with principals of REST architectural style.

-RS has annotations to bind specific URI patterns and HTTP methods to individual methods of your Java code. AEM is driven based on REST principals but there is no direct support for creating Restful services.

There are multiple implementations for JAX-RS specifications, this tutorial explains exposing REST based services in AEM through Jersey.

Install JAX-RS Jersey modules


As a first step, install the JAX-RS Jersey connector to AEM server

The connector modules can be downloaded from the following URL — https://search.maven.org/search?q=g:com.eclipsesource.jaxrs, the required modules are jersey-all, publisher and provider-gson


jax-rs-OSGI-modules

Install the modules through OSGI console —


Ensure the bundles are active

AEM-OSGI-console-bundle-installation
AEM-OSGI-console-bundle-installation

JAX-RS Component


Create a component with JAX-RS annotations.

package jaxrsservice.core.restservices;

import javax.ws.rs.Path;
import javax.ws.rs.*;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import java.io.IOException; 

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; 

import org.osgi.service.component.annotations.Component; 

@Component(service=RESTProductAPI.class)
@Path("/products")
public class RESTProductAPI {

@GET
@Path("/{catagroy}/{title}/p/{code : \\d{5}}")
@Produces({MediaType.TEXT_PLAIN})
public String getProductDetails(@Context HttpServletRequest request, @Context HttpServletResponse response,@PathParam("catagroy") String catagroy,@PathParam("title") String title,@PathParam("code") String code) {

return "code="+code+";catagroy="+catagroy+";title="+title; 

}

@POST
@Path("/create")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
public Product createProduct(Product product) {
product.setResult("Product Created");
product.setId("1");
return product;

}
}

Some of the important annotation used to define the component

@POST/@GET — HTTP Method supported by the method, the other HTTP methods can be used based on the requirement
 
@Path — URL path, static or dynamic regex based URL’s can be defined
 
@Produces — The output produced by the method e.g MediaType.APPLICATION_JSON and MediaType.TEXT_PLAIN etc
 
@Consumes — The input consumed by the method e.g MediaType.APPLICATION_JSON and MediaType.APPLICATION_FORM_URLENCODED etc

POJO class to map JSON input/Output

package jaxrsservice.core.restservices;

public class Product {

private String id;
private String name;
private String title;
private String category;
private String desc;
private String result;

public void setId(String id)
{
this.id=id;
}
public void setName(String name)
{
this.name=name;
}
public void setTitle(String title)
{
this.title=title;
}
public void setCategory(String category)
{
this.category=category;
}
public void setDesc(String desc)
{
this.desc=desc;
}

public void setResult(String result)
{
this.result=result;
}

public String getId()
{
return id;
}
public String getName()
{
return name;
}
public String getTitle()
{
return title;
}
public String getCategory()
{
return category;
}
public String getDesc()
{
return desc;
}

public String getResult()
{
return result;
}

}

Maven dependency to support JAX-RS annotations

<dependency>
 <groupId>javax.ws.rs</groupId>
 <artifactId>javax.ws.rs-api</artifactId>
 <version>2.0</version>
 </dependency>

Sample Code Repository


Deploy the component as a core module(execute mvn clean install -PautoInstallBundle from the core folder) and ensure the module is active

Now the service is ready to accept the requests and ready for testing


This will provide the following response - code=12345;catagroy=catagroyTest;title=sampleTitle

createProduct — http://localhost:4502/services/products/create (POST)

Tested through Postman

Sample Input:

{
“name”:”testName”,
“title”:”titleTest”,
“catagory”:”catagoryTest”,
“desc”:”descTest”
}

Sample Output:

{
“id”: “1”,
“name”: “testName”,
“title”: “titleTest”,
“desc”: “descTest”,
“result”: “Product Created”
}


postman-testing-post-service




By using JAX-RS(Jersey) OSGI modules the REST API’s can be exposed in AEM, JAX-RS provides more flexibility to define the REST services — handling different input/output types, mapping of inputs/outputs to/from POJO’s. Allows to define more dynamic URL paths to the REST services. AEM built on REST principles so by default supports the REST based services but JAX-RS can be used based on the use cases.