Cod*_*wer 9 java osgi intellij-idea osgi-bundle
我有一个JAR文件,我需要转换为OSGi包.我没有JAR文件的原始源代码.
我尝试使用以下答案:如何从jar库创建OSGi包?
但是,它们已经过时了.
编辑:我需要转换几个,但固定数量的罐子.
选项1 - 在期望频繁添加/更新Jars时,或者当您可以从Maven存储库检索依赖项时,使用bnd-platform来构建OSGi包
我们使用bnd-platform(我也是作者)来管理第三方依赖项并从中创建OSGi包.您可以将它与从Maven存储库和本地Jars中检索到的两个依赖项一起使用(请参阅自述文件).如果您经常添加或更新您的依赖项,我建议您尝试使用bnd-platform.它是Gradle的插件,您可以轻松地从这个模板开始- 只需添加您的Jar文件并提供项目README(捆绑符号名称,版本)中所述的配置并运行gradlew bundles.
选项2 - 使用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
Run Code Online (Sandbox Code Playgroud)
示例电话:
java -jar <path to bnd>.jar trove-2.0.4.bnd
Run Code Online (Sandbox Code Playgroud)
不再直接通过网站提供bnd Jar下载,一个很好的选择是从Maven Central下载它.
| 归档时间: |
|
| 查看次数: |
10379 次 |
| 最近记录: |