java - 使用 maven-bundle-plugin 为不包含所有依赖项的 jar 的 OSGI 容器创建 Web 应用程序包 (WAB)

标签 java web-applications deployment osgi package

我想在 OSGI 容器(如 Karaf)上部署一个以任何方式(war、jar,我不关心)打包的 java webapp(带有 web.xml 和所有内容)。 有两个重要的约束:

  1. WEB-INF/lib 必须为空,打包的 webapp 应该在容器上安装的其他包中寻找所需的类
  2. bundle 应该是一个 webapp,所以容器知道它必须读取 web.xml 来运行它并通过已经安装在容器上的 HTTP 服务(比如 jetty)使它可用(比如在 Karaf 上) .
  3. 应该使用 maven-bundle-plugin 2.2.0 完成

我成功地制作了 bundle 并使用该插件和 maven-sling-plugin 自动部署了它们。我想念的是将我的包打包为 WAB 的正确配置,有人告诉我这是正确的打包方式,并且没有依赖性。

最佳答案

您绝对需要 web.xml 吗?我最近浏览并更新了许多打包为 wars 的 webapps,以将它们转换为纯 bundle 。您通常在 web.XML 中指定的大部分信息也可以在您的 list 中指定,以供 pax web(karaf 的 jetty 前端)获取。到目前为止,我还没有遇到过无法转换为纯 bundle (这将满足您的限制)的单一 war 。

关于java - 使用 maven-bundle-plugin 为不包含所有依赖项的 jar 的 OSGI 容器创建 Web 应用程序包 (WAB),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5743085/

相关文章:

azure - 当我在 Azure 中发布天气预报 API 时出现 500 错误,如何调试?

java - 开始学习java,我有一个问题想要解决

javascript - 自动刷新 Google Apps 脚本 webapp UI?

delphi - 网站与 win32 可执行文件通信的标准方法是什么?

java - 抽象 Java 网格

mysql - Rails 部署 - 数据库未上传

.net - 使用 gacutil.exe 安装生产程序集是否安全?

java - 尝试使用 .contains() Java 方法

java - Spring发送和获取文件的正确方式

java - 检查(多个 Jbutton 中的)哪个 Jbutton 被单击