使用 Web Start / JNLP 动态加载其他 jar 文件
所有应用程序资源必须从指定的 JAR 文件中检索 在 JNLP 文件的资源部分中,或显式检索 使用 HTTP 请求到 Web 服务器。
建议将资源存储在 JAR 文件中,因为它们会被缓存 通过 Java Web Start 在本地计算机上。
现在,我想在应用程序启动后动态加载一些资源(例如 OSGi 包)。 我可以使用纯 HTTP 来完成此操作,但我想利用 Web Start 对本地缓存和版本化/体系结构特定资源的支持。
有没有办法使用 Web Start 基础结构从原始代码库(如应用程序的 jnlp 文件中指定)下载其他 jar 文件?
或者:是否已经有一种集成 OSGi 和 Web Start 的既定方法,可以让我摆脱从 Web Start 服务器安装捆绑包的任务?
The Web Start Developers Guide states
All application resources must be retrieved from the JAR files specified
in the resources section of the JNLP file, or retrieved explicitly
using an HTTP request to the Web server.Storing resources in JAR files is recommended, since they will be cached
on the local machine by Java Web Start.
Now, I have some resources I want to dynamically load after my application has been started (for example OSGi bundles). I can do this using plain HTTP, but I would like to make use of Web Start's support for local caching and versioned/architecture-specific resources.
Is there a way to download additional jar files from the original code base (as specified in the application's jnlp file) using the Web Start infrastructure?
Or alternatively: is there already an established way to integrate OSGi and Web Start that would relieve me of the task to install bundles from the Web Start server?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您将应用程序本身设置为基于 Equinox 的 OSGI 应用程序,则可以使用所需的所有附加捆绑包通过 Web 启动它。
这篇文章“WebStarting Equinox OSGi Apps”可以给你一个很好的介绍上所需的设置。
他还有一个 OSGI 演示。
If you make your application in itself an Equinox-based OSGI application, you can web-start it with all the addition bundles you need.
This article "WebStarting Equinox OSGi Apps" can give you a good introduction on the required settings.
He also has an OSGI demo.
我还没有尝试过,但看看 javax.jnlp.DownloadService API
I haven't tried it but look at the javax.jnlp.DownloadService API