Search code examples
google-mapsosgigsonaemapache-felix

osgi.wiring.package; (&(osgi.wiring.package=com.google.gson)(version>=2.3.0)(!(version>=3.0.0))))


I am trying to use com.google.maps in my OSGi bundle. I've added the dependency like this:

    <dependency>
      <groupId>com.google.maps</groupId>
      <artifactId>google-maps-services</artifactId>
      <version>0.1.7</version>
    </dependency>

However, when I try to deploy this bundle to AEM, I get an error:

Unable to resolve 392.38: missing requirement [392.38] osgi.wiring.package; (&(osgi.wiring.package=com.google.gson)(version>=2.3.0)(!(version>=3.0.0))))

How can I resolve this?


Solution

    • go to maven central: http://search.maven.org
    • Advanced search
    • Write to the By Classname section: com.google.gson
    • In the list of results, find the ones that might be good for you
    • Download the jars and check the manifest header if the required package is exported

    If you do that, you will find the following maven dependency:

    <dependency>
        <groupId>com.google.code.gson</groupId>
        <artifactId>gson</artifactId>
        <version>2.3.1</version>
    </dependency>
    

    Alternatively, you can use JPM website for the search as it indexes all OSGi related MANIFEST headers and it mirrors the whole maven central repo. After you find the artifact that is necessary for you, there is a good chance that it is from maven central originally (so you do not have to set alternate repositories in your maven project). You can check the origin of the bundle in the details page.