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>
我正在编写依赖于外部 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>