Environnement
AEM 6.x
Problème
Certains regroupements OSGi ne démarrent pas sur l'instance AEM. Une erreur, similaire à celle qui suit, s'affiche lorsque les utilisateurs essaient de démarrer les regroupements défaillants :
30.12.2016 13:11:44.069 *ERROR* [qtp1529861461-2584] org.apache.felix.http.jetty %bundles.pluginTitle: Cannot start (org.osgi.framework.BundleException: Uses constraint violation. Unable to resolve resource com.adobe.cq.dam.cq-scene7-imaging [com.adobe.cq.dam.cq-scene7-imaging [436](R 436.3)] because it is exposed to package 'javax.activation' from resources org.apache.felix.framework [org.apache.felix.framework [0](R 0)] and org.apache.sling.javax.activation [org.apache.sling.javax.activation [11](R 11.0)] via two dependency chains. Chain 1: com.adobe.cq.dam.cq-scene7-imaging [com.adobe.cq.dam.cq-scene7-imaging [436](R 436.3)] import: (osgi.wiring.package=javax.activation) | export: osgi.wiring.package: javax.activation org.apache.felix.framework [org.apache.felix.framework [0](R 0)] Chain 2: com.adobe.cq.dam.cq-scene7-imaging [com.adobe.cq.dam.cq-scene7-imaging [436](R 436.3)] import: (osgi.wiring.package=javax.mail) | export: osgi.wiring.package=javax.mail; uses:=javax.activation javax.mail [javax.mail [209](R 209.0)] import: (osgi.wiring.package=javax.activation) | export: osgi.wiring.package: javax.activation org.apache.sling.javax.activation [org.apache.sling.javax.activation [11](R 11.0)] Unresolved requirements: [[com.adobe.cq.dam.cq-scene7-imaging [436](R 436.3)] osgi.wiring.package; (osgi.wiring.package=javax.mail)]) org.osgi.framework.BundleException: Uses constraint violation. Unable to resolve resource com.adobe.cq.dam.cq-scene7-imaging [com.adobe.cq.dam.cq-scene7-imaging [436](R 436.3)] because it is exposed to package 'javax.activation' from resources org.apache.felix.framework [org.apache.felix.framework [0](R 0)] and org.apache.sling.javax.activation [org.apache.sling.javax.activation [11](R 11.0)] via two dependency chains. Chain 1: com.adobe.cq.dam.cq-scene7-imaging [com.adobe.cq.dam.cq-scene7-imaging [436](R 436.3)] import: (osgi.wiring.package=javax.activation) | export: osgi.wiring.package: javax.activation org.apache.felix.framework [org.apache.felix.framework [0](R 0)] Chain 2: com.adobe.cq.dam.cq-scene7-imaging [com.adobe.cq.dam.cq-scene7-imaging [436](R 436.3)] import: (osgi.wiring.package=javax.mail) | export: osgi.wiring.package=javax.mail; uses:=javax.activation javax.mail [javax.mail [209](R 209.0)] import: (osgi.wiring.package=javax.activation) | export: osgi.wiring.package: javax.activation org.apache.sling.javax.activation [org.apache.sling.javax.activation [11](R 11.0)] Unresolved requirements: [[com.adobe.cq.dam.cq-scene7-imaging [436](R 436.3)] osgi.wiring.package; (osgi.wiring.package=javax.mail)] at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:4111) at org.apache.felix.framework.Felix.startBundle(Felix.java:2117) at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:998) at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:984) at org.apache.felix.webconsole.internal.core.BundlesServlet.doPost(BundlesServlet.java:365) at javax.servlet.http.HttpServlet.service(HttpServlet.java:644) at javax.servlet.http.HttpServlet.service(HttpServlet.java:725) at org.apache.felix.webconsole.internal.servlet.OsgiManager.service(OsgiManager.java:567) at org.apache.felix.webconsole.internal.servlet.OsgiManager$3.run(OsgiManager.java:465) at java.security.AccessController.doPrivileged(Native Method) at org.apache.felix.webconsole.internal.servlet.OsgiManager.service(OsgiManager.java:461) at org.apache.felix.http.base.internal.handler.ServletHandler.handle(ServletHandler.java:85) at org.apache.felix.http.base.internal.dispatch.InvocationChain.doFilter(InvocationChain.java:79) at com.adobe.granite.license.impl.LicenseCheckFilter.doFilter(LicenseCheckFilter.java:308) at org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:135) at org.apache.felix.http.base.internal.dispatch.InvocationChain.doFilter(InvocationChain.java:74) at org.apache.felix.http.sslfilter.internal.SslFilter.doFilter(SslFilter.java:89) at org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:135) at org.apache.felix.http.base.internal.dispatch.InvocationChain.doFilter(InvocationChain.java:74) at org.apache.sling.security.impl.ReferrerFilter.doFilter(ReferrerFilter.java:290) at org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:135) at org.apache.felix.http.base.internal.dispatch.InvocationChain.doFilter(InvocationChain.java:74) at org.apache.sling.i18n.impl.I18NFilter.doFilter(I18NFilter.java:129) at org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:135) at org.apache.felix.http.base.internal.dispatch.InvocationChain.doFilter(InvocationChain.java:74) at org.apache.sling.featureflags.impl.FeatureManager.doFilter(FeatureManager.java:116) at org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:135) at org.apache.felix.http.base.internal.dispatch.InvocationChain.doFilter(InvocationChain.java:74) at org.apache.sling.engine.impl.log.RequestLoggerFilter.doFilter(RequestLoggerFilter.java:75) at org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:135) at org.apache.felix.http.base.internal.dispatch.InvocationChain.doFilter(InvocationChain.java:74) at org.apache.felix.http.base.internal.dispatch.Dispatcher.dispatch(Dispatcher.java:124) at org.apache.felix.http.base.internal.DispatcherServlet.service(DispatcherServlet.java:61) at javax.servlet.http.HttpServlet.service(HttpServlet.java:725) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:812) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:587) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:221) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)
Cause
Il y a des exportations OSGi dupliquées du même paquet java avec des versions qui se chevauchent, comme mentionné dans l'erreur.
Résolution
Lisez attentivement le message de journal qui vous indique exactement quels regroupements OSGi exportent le même paquet java, comme indiqué ci-dessous :
«il est exposé au paquet 'javax.activation' des ressources org.apache.felix.framework [org.apache.felix.framework [0](R 0)] et org.apache.sling.javax.javax.activation [org.apache.sling.javax.activation [11](R 11.0)] via deux chaînes de dépendance»
Il y a donc deux lots qui exportent javax.activation :
- lot de structure Apache Felix org.apache.felix.framework
- org.apache.sling.javax.activation- Lot de slings
D'autres recherches montrent que le lot de slings appartient à AEM et que l'exportation du framework javax.activation n'est pas valide. Les exportations de lots de framework peuvent provenir de ce qui suit :
- Paramètre JVM pour la délégation de démarrage -Dorg.osgi.osgi.framework.bootdelegation
- Un regroupement d'extension de structure
- AEM's conf/sling.properties org.osgi.framework.system.capabilities.extra et org.osgi.framework.bootdelegation configurations
Si l'une de ces configurations est modifiée pour ajouter une exportation pour javax.activation, cela causerait le problème.
Adobe
Recevez de l’aide plus rapidement et plus facilement
Nouvel utilisateur ?