【问题标题】:How can I deliver jetty with many webapps via jnlp?如何通过 jnlp 提供带有许多 webapps 的码头?
【发布时间】:2011-01-21 23:40:28
【问题描述】:

我有一个在 servlet 容器中使用 jsf 的 webapp (http://sourceforge.net/projects/sf-mvn-plugins/files/m2-repo/net/sf/maven/plugins/example-captaincasa-jnlp/0.1-SNAPSHOT/example-captaincasa-jnlp-0.1-SNAPSHOT.war/download)。这适用于我本地电脑上的 jetty-maven-plugin run-war 目标。将来我想制作更多这种网络应用程序。

我正在寻找一种通过 jnlp 使用码头交付这些 webapps 的方法。最终用户应该是零安装,但 webapps 需要 servlet 容器,而我的主机不支持 servlet 容器或应用程序服务器等。

我不喜欢嵌入式解决方案,因为在这种情况下,每个 web 应用程序都必须使用单独的码头交付,并且必须使用单独的码头运行 -> 尺寸太大 -> 下载大小过多等等。

架构应该与此类似:
(来源:sourceforge.net

示例:Bundle1 可以包含码头并部署 webapp1,而 Bundle2 可以包含码头并部署 webapp1 和 webapp2(与最终用户的要求相关,我希望提供我的 webapps 的许多变体)

但是我的问题是什么?

  1. 需要哪些码头?我想将这些上传到我的主页进行托管。
  2. 我应该使用哪个 jar 作为 jetty 作为主 jar 来通过 jnlp 启动他?
  3. 我应该使用哪个主类通过 jnlp 启动码头?
  4. 我可以使用哪个参数来配置 jetty 说这是 webapp1 的战争,这是 webapp2 的战争......或者这是用于热部署的 weapps 目录......?

对我来说重要的问题是 1。如果回答这个问题以便我可以在本地运行码头(没有 maven 插件)并通过手动运行,也许我可以解决剩下的 2-4。

【问题讨论】:

    标签: jetty jnlp embedded-jetty java-web-start maven-jetty-plugin


    【解决方案1】:

    我今天找到了另一种方法。这也很有趣。这是概念:

    1. 使用 java webstart 安装 osgi 容器
    2. 使用 bundle x 或 osgi 服务下载您应用的所有 bundle
    3. 使用码头捆绑包提供码头支持

    然后安装应用程序

    我从这篇文章中得到了这个想法: http://www.toedter.com/blog/?p=45

    【讨论】:

      【解决方案2】:

      为什么不部署一个通过Server 类以编程方式调用Jetty 的普通Java 应用程序(带有main() 等)?该类是通过具有适当上下文、servlet 类等的代码配置的。

      我之前已经成功地做到了。唯一令人头疼的是运行一个 Jetty 并根据要求下载多个应用程序(如果我正确阅读了您的问题)。你可以使用一些类加载魔法,并从远程 URL 按需加载类/应用程序吗?

      【讨论】:

      猜你喜欢
      • 2015-07-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-26
      • 1970-01-01
      • 1970-01-01
      • 2017-12-07
      • 1970-01-01
      相关资源
      最近更新 更多