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

karaf: linking my code to a jar file

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

我想要的是让我的包的类加载器加载我在此 jar 文件中访问的任何内容,并且我想直接调用此 jar 文件中的 类 方法。我该怎么做?

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

谢谢,

您可以尝试在构建包时嵌入外部 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>