Missing OSGI Dependencies | Community
Skip to main content
nickt39971962
New Participant
September 4, 2019
Solved

Missing OSGI Dependencies

  • September 4, 2019
  • 2 replies
  • 3133 views

When adding a new dependency in the POM file of an OSGI bundle (which is deployed inside an AEM package to CRX) I will often see a number of unresolved dependencies in the OSGI console. The bundle will fail to activate.

Example:

org.jaxen.dom -- Cannot be resolved

org.jaxen.dom4j -- Cannot be resolved

org.jaxen.jdom -- Cannot be resolved

org.jaxen.pattern -- Cannot be resolved

org.jaxen.saxpath -- Cannot be resolved

org.jdom -- Cannot be resolved

org.jdom.input -- Cannot be resolved

org.jdom.output -- Cannot be resolved

How can I debug this type of problem? How can I understand why those dependencies are required yet cannot be resolved?

I can see in the POM that the bundle has been configured as follows:

<plugin>

                <groupId>org.apache.felix</groupId>

                <artifactId>maven-bundle-plugin</artifactId>

                <configuration>

                    <instructions>

                        <Bundle-Activator>com.mycompany.aem.Activator</Bundle-Activator>

                        <Export-Package>

                            com.mycompany.aem.*

                        </Export-Package>

                        <Sling-Model-Packages>

                            com.mycompany.aem.components.page,

                            com.mycompany.aem.models,

                            com.mycompany.aem.helper

                        </Sling-Model-Packages>

                        <Include-Resource>{maven-resources}</Include-Resource>

                        <Embed-Dependency>*;scope=compile|runtime;inline=false</Embed-Dependency>

                        <Embed-Transitive>true</Embed-Transitive>

                        <Import-Package>

                            android.util.*;resolution:=optional,

                            javax.validation.*;resolution:=optional,

                            org.apache.axiom.*;resolution:=optional,

                            org.apache.cxf.*;resolution:=optional,

                            !com.sun.msv.*;resolution:=optional,

                            !com.sun.xml.bind.marshaller.*;resolution:=optional,

                            !com.sun.xml.fastinfoset.stax.*;resolution:=optional,

                            !net.sf.cglib.*;resolution:=optional,

                            !org.apache.aries.*;resolution:=optional,

                            org.apache.axiom.*;resolution:=optional,

                            org.apache.mina.*;resolution:=optional,

                            org.osgi.service.blueprint.*;resolution:=optional,

                            !org.relaxng.*;resolution:=optional,

                            !org.springframework.*;resolution:=optional,

                            !javax.resource.*;resolution:=optional,

                            !javax.xml.ws.spi.http.*;resolution:=optional,

                            !com.sun.*;resolution:=optional,

                            sun.*;resolution:=optional,

                            org.apache.*;resolution:=optional,

                            org.jvnet.*;resolution:=optional,

                            *

                        </Import-Package>

                    </instructions>

                </configuration>

            </plugin>

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Best answer by anujg3325839

All these dependencies should already present if not shipped with the bundle jar/package. you can check the stdout log to see the details on why these dependencies are not resolved. in case these dependencies are part of some other bundle package, please ensure the other bundle should get started first, you can control it via start-up level of the bundle.

2 replies

nickt95164926
New Participant
September 5, 2019

The code compiles successfully with Maven. The issues arise when the bundle is activated in Felix.

When I look at the contents of the bundle zip file, some of those dependencies: org.jaxen and org.jdom are not present and with the full maven output using -X I see no errors or warnings about them.

However, for some reason, when running in Felix these dependencies are required and cannot be resolved.

anujg3325839
anujg3325839Accepted solution
Employee
September 5, 2019

All these dependencies should already present if not shipped with the bundle jar/package. you can check the stdout log to see the details on why these dependencies are not resolved. in case these dependencies are part of some other bundle package, please ensure the other bundle should get started first, you can control it via start-up level of the bundle.