I am writing a karaf bundle which depends on an external jar library. I understand I may import this bundle in my features.xml using wrap but this means it gets loaded into its own classloader.
What I want is for my bundle's classloader to load whatever I access in this jar file and I want to make direct method calls to the classes in this jar file. How can I do this?
I don't want a new bundle - just a library that I can link my application to.
Thanks,
You can try to embed the external jar when building your bundle as follow:
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<extensions>true</extensions>
<configuration>
<instructions>
<Export-Package>
...,
root_package_in_external_jar*,
...
</Export-Package>
<Import-Package>
...
</Import-Package>
<Embed-Dependency>your_external_jar</Embed-Dependency>
</instructions>
</configuration>
</plugin>