Java 如何使用Bndtools OSGi项目创建动态Web项目。

Java 如何使用Bndtools OSGi项目创建动态Web项目。,java,osgi,osgi-bundle,bnd,bndtools,Java,Osgi,Osgi Bundle,Bnd,Bndtools,我已经创建了一个生成.jar文件的BndTools OSGi项目。现在我想在我的主项目,即动态Web项目(.war文件)中包含该jar的BundleContext。 动态web项目不包含bnd.bnd文件,所以我不能注入那个jar的依赖项 有什么方法可以实现这一点。这可以通过两种方法实现 捷径 创建动态web项目 右键单击web项目>选择Properties菜单 单击展开组件 单击添加 为装配指令类型选择Project 选择bndtools项目 重复你想要的第二个项目 将此web项目部署到服务器

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


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

这可以通过两种方法实现

捷径
  • 创建动态web项目
  • 右键单击web项目>选择
    Properties
    菜单
  • 单击展开组件
  • 单击添加
  • 为装配指令类型选择
    Project
  • 选择bndtools项目
  • 重复你想要的第二个项目
  • 将此web项目部署到服务器或导出war,并注意
  • 注意此jar只创建类,而不创建通常由bnd.bnd文件创建的其他资源(例如,正确的清单、其他包含的资源)

    更好更正确的方法
  • 将bndtools创建的2个jar文件部署到本地或公共的工件存储库中
  • 使用war打包创建一个新的maven项目(例如默认的web项目原型)
  • 将这两个bndtools项目JAR指定为依赖项
  • 从它的for Eclipse安装插件(它导入maven war项目并自动创建带有所有依赖项引用设置的Eclipse动态web项目)
  • 使用文件>导入>现有maven项目导入maven web项目
  • 在导入过程中,m2e wtp项目配置程序将被激活,将2个BND项目JAR作为依赖项的必要设置将正确设置

  • 你能澄清你的问题吗?jar没有BundleContext。你到底想干什么?我有一个.war文件。从这个war文件中,我只想调用两个独立的.jar文件。现在的问题是,我已经使用Bundle OSGi项目(eclipse插件)创建了这些.jar文件,所以这些项目有bnd.bnd文件。但是我创建.war文件的项目是动态Web项目。所以我的问题是如何从war文件中的函数调用jar中的函数。