3

我有一个网络应用程序(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 ) 在 servlet 容器中使用 jsf。这适用于我本地电脑上的 jetty-maven-plugin run-war 目标。将来我想制作更多这种网络应用程序。

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

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

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

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

但我的问题是什么?

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

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

4

2 回答 2

1

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

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

然后安装应用程序

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

于 2010-11-27T09:29:00.150 回答
1

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

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

于 2010-02-28T10:51:19.863 回答