将现有的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