karaf:将我的代码链接到jar文件

时间:2017-10-19 18:47:26

标签: apache-karaf karaf

我正在编写一个依赖于外部jar库的karaf包。我知道我可以使用wrap在我的features.xml中导入这个包,但这意味着它被加载到自己的类加载器中。

我想要的是我的bundle的类加载器加载我在这个jar文件中访问的内容,并且我想对这个jar文件中的类进行直接方法调用。我怎么能这样做?

我不想要一个新的捆绑包 - 只是一个我可以链接我的应用程序的库。

谢谢,

1 个答案:

答案 0 :(得分:0)

您可以尝试在构建捆绑包时嵌入外部jar,如下所示:

       <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>