【问题标题】:Is there a way to deploy exploded bundles in Apache Felix?有没有办法在 Apache Felix 中部署分解包?
【发布时间】:2017-02-02 20:59:13
【问题描述】:

我们正在考虑重新架构我们的 Web 应用程序并希望转向更加模块化的解决方案,OSGi 似乎可以满足我们的很多需求。

我遇到了 Apache Felix 项目,并尝试了一下。它看起来很可靠,但我发现开发周期有点慢,因为它需要捆绑包的 maven 构建才能使任何代码更改生效。

相反,我希望能够在 Eclipse 编译完类后重新加载包,而无需任何额外的构建/打包。类似于 Tomcat 和其他 servlet 容器如何支持“爆炸”战争文件的部署。

这可能与 Felix 或任何其他 OSGi 容器有关吗?

【问题讨论】:

    标签: eclipse maven osgi


    【解决方案1】:

    在 Gogo shell 中,您可以:

    install reference:file:/path/to/exploded/directory
    

    这将安装一个分解的捆绑包。展开目录的格式应该与捆绑 JAR 文件的格式完全相同。

    【讨论】:

    • 好的,这行得通。但是如何自动化呢?我认为您可以从 Eclipse 启动任务中调用 gogo shell 命令,但我不知道如何去做。每次都在控制台里打字不是那么方便……
    【解决方案2】:

    Apache Felix FileInstall 支持开箱即用的分解包。只需安装它,然后将包含您的包的目录放在 load 目录中(或将 FileInstall 配置为查看其他位置)。

    不完全回答您的问题,但如果您对构建周期有疑问,您应该查看bndtools,这是一个用于 Eclipse 的插件,a.o.当您的代码更改时,会自动在运行的框架中构建和部署您的包。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-07-29
      • 2012-04-29
      • 1970-01-01
      • 2023-01-27
      • 1970-01-01
      • 2011-07-15
      相关资源
      最近更新 更多