【问题标题】:osgi-like framework without the import/export restrictions?没有导入/导出限制的类 osgi 框架?
【发布时间】:2010-12-17 12:08:30
【问题描述】:

我喜欢 OSGi,但是在尝试使用 3rd 方库时,导入/导出限制和缺少上下文类加载器会造成严重破坏(例如,一些库尝试在 META-INF 中查找 file.xml,期望所有此类文件在所有要返回的 jar 中,其他库使用 ServiceLoader)。

我想要 OSGi 的动态加载、处理同一库的多个版本的能力以及服务框架。

那么我的替代方案是什么?我知道 JPF,正在寻找不那么 xmlish 的东西。

【问题讨论】:

  • 哪些库?附言不要放弃 OSGi,它是最好的 ;)
  • 没有导入或导出的能力,您在 OSGI 中基本上没有任何价值。你的 q 没有意义。

标签: java plugins osgi classloader


【解决方案1】:

我的 java 邮件包与我的 java 激活包分开时遇到了这个问题。您可以通过以下选项获取 1 个包以查看其他包的 META-INF 中的文件(即不是 java 资源,而是 xml 文件之类的东西)。

1) 将捆绑包合并在一起。这通常很难处理,或者对项目来说并非不可能。

2) 让需要共享资源的包成为需要读取资源的包的包片段。 Bundle 片段由 OSGi 规范定义,允许单独的 bundle 共享资源,就像它们合并在一起一样。

【讨论】:

    【解决方案2】:

    您是否尝试过搜索每个库 + osgi?快速浏览显示其他一些经验和(似乎)成功。

    很抱歉“只需 google 即可回答”,但由于我没有在我的 OSGi 应用程序中积极使用这些库,我只能建议我如何为我的一些库处理这个问题......这是谷歌。

    这不是一个很好的答案,但我不想把它埋在 cmets 中。

    【讨论】:

      【解决方案3】:

      我想要 OSGi 的动态加载、处理同一库的多个版本的能力以及服务框架。

      还有其他服务框架,但要获得动态加载和同一类的多个版本,我所知道的 OSGi 没有别的东西。

      此外,现在 OSGi 似乎终于获得了一些牵引力,图书馆“玩得好”的压力正在上升。例如SpringSource 维护着越来越多的 OSGified 库。你需要的包可能已经在那里了。

      【讨论】:

        猜你喜欢
        • 2018-11-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-09-06
        • 2016-09-15
        • 2011-11-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多