0

我已经创建了一个生成 .jar 文件的 BndTools OSGi 项目。现在我想要在我的主项目中那个 jar 的 BundleContext ,即 Dynamic Web Project (.war File)。动态 web 项目不包含 bnd.bnd 文件。所以我无法注入该 jar 的依赖项。

有什么方法可以实现这一点。

4

1 回答 1

2

这可以通过两种方式完成。

快速而肮脏的方式

  1. 创建动态 Web 项目
  2. 右键单击 Web 项目 > 选择Properties菜单
  3. 点击Deployment Assembly
  4. 点击Add
  5. 选择Project汇编指令类型
  6. 选择 bndtools 项目
  7. 重复你想要的第二个项目
  8. 将此 Web 项目部署到服务器或导出战争,并注意

请注意,此 jar 将仅创建类,而不会创建通常由 bnd.bnd 文件创建的其他资源(例如正确的清单,其他包含的资源)

更好更正确的方法

  1. 将 bndtools 创建的 2 个 jar 文件部署到本地或公共的一些工件存储库
  2. 使用 war 打包创建一个新的 maven 项目(例如默认的 web 项目原型)
  3. 将这两个 bndtools 项目 jar 指定为依赖项
  4. 从其更新站点为 Eclipse安装m2e -wtp插件(它导入 maven war 项目并自动创建具有所有依赖项引用设置的 eclipse 动态 Web 项目)
  5. 使用 File > Import > existing maven project 导入 maven web 项目
  6. 在导入期间,m2e-wtp 项目配置器将被激活,并且将正确设置包含 2 个 bndproject jar 作为依赖项的必要设置
于 2015-01-12T00:50:11.257 回答