6

Web Start 开发人员指南指出

所有应用程序资源都必须从 JNLP 文件的资源部分中指定的 JAR 文件中检索,或者使用对 Web 服务器的 HTTP 请求显式检索。

建议将资源存储在 JAR 文件中,因为它们会被 Java Web Start 缓存在本地机器上。

现在,我想要在我的应用程序启动后动态加载一些资源(例如 OSGi 包)。我可以使用纯 HTTP 来做到这一点,但我想利用 Web Start 对本地缓存和特定于版本/架构的资源的支持。

有没有办法使用 Web Start 基础设施从原始代码库(在应用程序的 jnlp 文件中指定)下载额外的 jar 文件?

或者:是否已经有一种整合 OSGi 和 Web Start 的既定方法可以减轻我从 Web Start 服务器安装包的任务?

4

2 回答 2

4

如果您使您的应用程序本身成为基于 Equinox 的 OSGI 应用程序,您可以使用所需的所有附加包启动它。

这篇文章“ WebStarting Equinox OSGi Apps ”可以很好地介绍所需的设置。

  • 所有捆绑包都必须部署为签名的 JAR 文件
  • 您需要一个包含所有必要捆绑包的功能
  • 导出功能时,确保 PDE 为该功能创建 JNLP(Java 网络启动协议)文件(导出向导中的复选框)
  • 为您的应用程序提供根 JNLP 文件
  • 将您的应用程序部署到 Web 服务器并确保 Web 服务器知道 application/x-java-jnlp-file mime 类型

他还有一个OSGI 演示

于 2009-03-18T07:30:48.127 回答
1

我没试过,但看看javax.jnlp.DownloadService API

于 2009-06-12T19:46:52.207 回答