使用BND工具把普通JAR变成OSGI插件
我们自己开发的插件可以使用maven-bundle-plugin来实现插件打包,特别是MENIFEST.MF文件的创建。很多第三方资源jar包已经包含了OSGI信息,可以直接当作插件运行。但是还是有很多必须用到的第三方JAR在MENIFEST.MF中没有插件信息,不能直接在FELIX中运行。虽然我们可以通过把这些jar嵌入到我们自己的插件项目中来使用,但是这样还是不太方便,因为我们仅仅是使用这些jar中的类而已。
一个最直接的方法就是使用BND工具把普通jar转换成可以在OSGI容器中运行的插件。
1.获取bnd.jar(下载或者和我要)
2.把要转化的jar放到和bnd.jar同一个目录下
3.在命令行执行 java -jar bnd.jar wrap xxx.jar就可以得到转化后的插件,自动命名为xxx.bar
4.上面的结果虽然可以使用了,但是插件的版本是0,名字也不对,需要用户指定才行,创建一个xxx.bnd的文本文件,内容如下:
Bundle-Description: wsdl4j osgi bundle
Bundle-Name: wsdl4j
Bundle-SymbolicName: wsdl4j
Bundle-Version: 1.6.3
5.执行命令java -jar bnd.jar wrap -properties xxx.bnd xxx.jar,就可以得到需要的插件bar,把bar复制到Felix容器中,扩展名改成jar,启动Felix,可以看到这个jar已经作为一个独立插件运行了,其中的类都可以被其他插件import。
使用BND工具把普通JAR变成OSGI插件相关推荐
- (转)Bnd 工具使用
本文转自:http://www.aqute.biz/Code/BndCn 对使用maven插件bnd工具的人有一点用处 介绍 BND工具可用于创建符合OSGi R4规范的Bundle和检测Jar文件是 ...
- jar运行 osgi保存_自动化的OSGi测试运行程序
jar运行 osgi保存 在我的团队成员中,我以忘记维护(JUnit)测试套件而闻名. 我只是无法完成手动添加测试套件这一额外步骤. 幸运的是,有连续的集成服务器可以按命名模式收集测试. 如果我介绍的 ...
- 【工具】统计jar包和apk中的java方法数
2019独角兽企业重金招聘Python工程师标准>>> [工具]统计jar包和apk中的java方法数 :http://www.baidufe.com/item/5891ec6f73 ...
- 使用工具【ZipCenOp.jar】自动修复zip伪加密文件
1.用010检查zip压缩包,发现压缩包文件是伪加密,但是找不到要修改伪加密的地方 2.查了很多资料,最后用大佬给的工具[ZipCenOp.jar]修复了压缩包 在这道题,我觉得思路是,在普通的伪加密 ...
- 使用Tycho构建OSGi插件项目
使用Tycho构建OSGi插件项目 自动构建OSGi Plugin项目,一直以来就是个头疼的问题.直到 Tycho 的出现,这些都不在成为问题了.用它你可以很轻松来构建Eclipse插件(Eclips ...
- Sublime Text编辑工具带有 PEP 8 格式检测插件
Sublime Text编辑工具带有 PEP 8 格式检测插件 转载于:https://www.cnblogs.com/dsdr/p/6045905.html
- VsCode工具开发vue项目必装插件
VsCode工具开发vue项目必装插件 目录 VsCode工具开发vue项目必装插件 1.概述 2.VsCode插件清单 2.1.Vetur插件让vue文件代码高亮 2.2.Vue VSCode Sn ...
- 文献管理工具Zotero的使用及其常用插件推荐
文献管理工具Zotero的使用及其常用插件推荐 链接汇总 Zotero的下载和安装 下载地址 安装 硬件要求建议 Zotero的使用 登录Zotero账号 Zotero 使用同步网盘同步附件的方案 Z ...
- 【开发者工具】开发者必备的火狐插件
开发者必备的火狐插件 1.Firebug 用于调试JavaScript,修改界面HTML和CSS,一些常用的网络分析扩展也是基于Firebug的,非常好用. 2.YSlow YSlow是Yahoo ...
最新文章
- Qt中的QInputDialog
- 内存学习――为什么需要虚拟内存
- python中用*打印一个上三角形和下三角形组成的三角形
- android jni打印log信息
- 多网卡无法上外网的解决
- 程序人生:教你写出让同事抓狂的代码
- 洛谷 P3391 文艺平衡树
- LeetCode 454. 四数相加 II 思考分析
- 感谢您的提问_感谢您的反馈,我们正在改进的5种方法
- 路径的形式不合法解决方案
- java可以用var定义吗_浅析java 10中的var关键字用法
- 用gambit学博弈论---零和博弈
- 大数据技术——hadoop组件
- 如何用Scapy写一个端口扫描器?
- 查看编译war包的jdk版本
- stagefright_StageFright:Android操作系统中最易受攻击的错误
- 魅族15android 8.0,Flyme 8体验版已上线:魅族15/16系列可直接升级
- 语法分析——自顶向下分析方法
- onion浏览器下载_洋葱浏览器最新下载_洋葱浏览器官方版 - 软件帝
- 【问题笔记】Android Studio运行或打包时报错:Some file crunching failed, see logs for details