使用Web Start/JNLP动态加载其他jar文件

Thi*_*ilo 6 java osgi java-web-start

" Web Start Developers指南"指出

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

建议在JAR文件中存储资源,因为它们将由Java Web Start缓存在本地计算机上.

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

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

或者:是否已经建立了集成OSGi和Web Start的方法,这将减轻我从Web Start服务器安装捆绑包的任务?

Von*_*onC 4

如果您将应用程序本身设置为基于 Equinox 的 OSGI 应用程序,则可以使用所需的所有附加捆绑包通过 Web 启动它。

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

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

他还有一个OSGI 演示