将现有的JAR转换为OSGi-bundle

我有一个JAR文件,我需要将其转换为OSGi捆绑软件。我没有JAR文件的原始源代码。

我需要转换几个,但固定数量的jar。

回答:

当期望频繁添加/更新Jars或可以从Maven存储库检索依赖项时,请使用 bnd-platform 构建OSGi捆绑包

我们使用bnd-platform(我也是作者)来管理第三方依赖项并从中创建OSGi捆绑包。您可以将其与从Maven存储库中检索到的依赖项和本地Jars一起使用(请参阅README)。如果您定期添加或更新依赖项,建议您尝试使用 bnd-platform

。这是Gradle的插件,您可以轻松地从此模板开始-

只需添加Jar文件并提供项目README中描述的配置(捆绑的符号名称,版本)并运行即可gradlew bundles

-使用 BND 当你做一次或添加/更新很少建立自己的OSGi包

如果只执行一次或很少执行此过程,则从现有Jar创建OSGi捆绑包的简单方法是直接在命令行上使用bnd。您唯一需要的是Java和bnd

jar。您可以wrap尝试自动包装jar或创建包含bnd说明的.bnd文件(例如,仅导出特定的软件包)。

.bnd文件示例:

-classpath: lib/trove-2.0.4.jar

-output: gnu.trove-2.0.4.jar

Export-Package: *;-split-package:=merge-last;-noimport:=true

Import-Package: *

Bundle-Version: 2.0.4

Bundle-Name: GNU Trove Collections Plug-in

Bundle-SymbolicName: gnu.trove

示例调用:

java -jar <path to bnd>.jar trove-2.0.4.bnd

bnd Jar下载不再通过网站直接提供,一个不错的选择是从Maven

Central下载。

以上是 将现有的JAR转换为OSGi-bundle 的全部内容, 来源链接: utcz.com/qa/414043.html

回到顶部