我们自己开发的插件可以使用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插件相关推荐

  1. (转)Bnd 工具使用

    本文转自:http://www.aqute.biz/Code/BndCn 对使用maven插件bnd工具的人有一点用处 介绍 BND工具可用于创建符合OSGi R4规范的Bundle和检测Jar文件是 ...

  2. jar运行 osgi保存_自动化的OSGi测试运行程序

    jar运行 osgi保存 在我的团队成员中,我以忘记维护(JUnit)测试套件而闻名. 我只是无法完成手动添加测试套件这一额外步骤. 幸运的是,有连续的集成服务器可以按命名模式收集测试. 如果我介绍的 ...

  3. 【工具】统计jar包和apk中的java方法数

    2019独角兽企业重金招聘Python工程师标准>>> [工具]统计jar包和apk中的java方法数 :http://www.baidufe.com/item/5891ec6f73 ...

  4. 使用工具【ZipCenOp.jar】自动修复zip伪加密文件

    1.用010检查zip压缩包,发现压缩包文件是伪加密,但是找不到要修改伪加密的地方 2.查了很多资料,最后用大佬给的工具[ZipCenOp.jar]修复了压缩包 在这道题,我觉得思路是,在普通的伪加密 ...

  5. 使用Tycho构建OSGi插件项目

    使用Tycho构建OSGi插件项目 自动构建OSGi Plugin项目,一直以来就是个头疼的问题.直到 Tycho 的出现,这些都不在成为问题了.用它你可以很轻松来构建Eclipse插件(Eclips ...

  6. Sublime Text编辑工具带有 PEP 8 格式检测插件

    Sublime Text编辑工具带有 PEP 8 格式检测插件 转载于:https://www.cnblogs.com/dsdr/p/6045905.html

  7. VsCode工具开发vue项目必装插件

    VsCode工具开发vue项目必装插件 目录 VsCode工具开发vue项目必装插件 1.概述 2.VsCode插件清单 2.1.Vetur插件让vue文件代码高亮 2.2.Vue VSCode Sn ...

  8. 文献管理工具Zotero的使用及其常用插件推荐

    文献管理工具Zotero的使用及其常用插件推荐 链接汇总 Zotero的下载和安装 下载地址 安装 硬件要求建议 Zotero的使用 登录Zotero账号 Zotero 使用同步网盘同步附件的方案 Z ...

  9. 【开发者工具】开发者必备的火狐插件

    开发者必备的火狐插件   1.Firebug 用于调试JavaScript,修改界面HTML和CSS,一些常用的网络分析扩展也是基于Firebug的,非常好用. 2.YSlow YSlow是Yahoo ...

最新文章

  1. Qt中的QInputDialog
  2. 内存学习――为什么需要虚拟内存
  3. python中用*打印一个上三角形和下三角形组成的三角形
  4. android jni打印log信息
  5. 多网卡无法上外网的解决
  6. 程序人生:教你写出让同事抓狂的代码
  7. 洛谷 P3391 文艺平衡树
  8. LeetCode 454. 四数相加 II 思考分析
  9. 感谢您的提问_感谢您的反馈,我们正在改进的5种方法
  10. 路径的形式不合法解决方案
  11. java可以用var定义吗_浅析java 10中的var关键字用法
  12. 用gambit学博弈论---零和博弈
  13. 大数据技术——hadoop组件
  14. 如何用Scapy写一个端口扫描器?
  15. 查看编译war包的jdk版本
  16. stagefright_StageFright:Android操作系统中最易受攻击的错误
  17. 魅族15android 8.0,Flyme 8体验版已上线:魅族15/16系列可直接升级
  18. 语法分析——自顶向下分析方法
  19. onion浏览器下载_洋葱浏览器最新下载_洋葱浏览器官方版 - 软件帝
  20. 【问题笔记】Android Studio运行或打包时报错:Some file crunching failed, see logs for details

热门文章

  1. 2364591-79-5,DBCO-PEG1-amine TFA salt含有DBCO和胺部分的PEG连接剂
  2. 根据经纬度计算两点之间的距离---google计算公式推导
  3. 转载:我的前六年程序生涯
  4. 选择软件测试会不会后悔??
  5. unity3d开发鼠标打飞碟游戏(Hit UFO)
  6. 如何编写智能合约(Smart Contract)(III)最新
  7. js如何获取jwt信息_如何获取有价值的信息
  8. 产品经理如何做竞品分析
  9. A100 GPU服务器安装GPU驱动教程
  10. 国外免费CDN CloudFlare申请教程