Drools5.2整合到Felix上

OSGI 同时被 2 个专栏收录
12 篇文章 0 订阅
1 篇文章 0 订阅

      我们这里是将Drools单独作为一个Bundle,所有依赖的包都是放在Bundle的CLASSPATH下,其中标红的包就是。还有另一种方式就是将所有依赖的包都以Bundle的形式部署在Felix上,但是由于包之间依赖关系比较复杂,而且也和其他模块之间没有太多共用的jar包,因此我们采取了当前这种方式。

       这里需要注意的是:

      1)蓝色字体的package实际上是虚拟机自带的rt.jar包中的部分,按常理说不需要显式导入,但是在Felix上必须要这样做,或者是在MANIFEST.MF中用“DynamicImport-Package  *  "的方式,但是一般不赞成这样做。

      2)我们只是使用了规则引擎最基本的部分规则、规则流,并不涉及规则的持久化和管理等部分。因此我们打的是一个很精致的Bundle。

      以下是我整合时的MANIFEST.MF文件。

      Manifest-Version: 1.0
      Bundle-ManifestVersion: 2
      Bundle-Name: Drools_osgi
      Bundle-SymbolicName: drools_osgi
      Bundle-Version: 1.5.4.qualifier
      Bundle-Activator: drools_osgi.Activator
      Bundle-Vendor: zhaic
      Bundle-RequiredExecutionEnvironment: JavaSE-1.6
      Import-Package: javax.security.auth,
       javax.xml.parsers,
       org.osgi.framework,
       org.w3c.dom,
       org.xml.sax,
       org.xml.sax.ext,
       org.xml.sax.helpers
      Bundle-ClassPath: .,
       lib/antlr-runtime-3.3.jar,
       lib/drools-compiler-5.3.0.Final.jar,
       lib/drools-core-5.3.0.Final.jar,
       lib/jbpm-flow-5.1.2.Final.jar,
       lib/jbpm-flow-builder-5.1.2.Final.jar,
       lib/knowledge-api-5.3.0.Final.jar,
       lib/mvel2-2.1.0.drools4.jar,
       lib/xmlpull-1.1.3.1.jar,
       lib/xstream-1.4.1.jar,
       lib/log4j-1.2.15.jar,
       lib/commons-logging-1.0.4.jar,
       lib/ecj-3.5.1.jar

         如果不导入ecj-3.5.1.jar这个包,就会报:The Eclipse JDT Core jar is not in the classpath这个错误。网上有人说需要加入Drools核心包就会解决这个问题,其实引起这个错误有很多原因。具体只需要查看源码就清楚了。

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

参与评论 您还未登录,请先 登录 后发表或查看评论
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页

打赏作者

渭水飞熊

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值