JNLP 文件格式

了解 JNLP 文件:开发者的指南

概述

JNLP 文件是基于 XML 的配置文件,由 Java Web Start (JWS) 技术用于在 Web 上启动 Java 应用程序. 这些文件包含有关 Java 的必需数据,如服务器上的位置和所需的安全设置,使用户轻松下载和运行这些软件,只需单击。

尽管自Java Platform Standard Edition(JSE)9发布以来,JNLP文件仍然在某些遗产系统中具有相关性,或者在依赖于此技术的旧项目上工作时。

关键特性

  • 基于 XML 的结构**: JNLP 文件以 XML 编写,确保人类可读性和机器和人类轻松分配。
  • 网络启动能力:它们允许从远程服务器上自动下载和执行Java应用程序,而无需手动干预。
  • 安全设置集成:JNLP文件包含详细的安全配置,控制应用程序如何启动以及它在用户系统上有哪些权限。
  • 版本控制:支持版本管理为JNLP文件本身和相关的Java应用程序,确保用户始终有访问最新的更新。
  • 平台独立性:设计在不同操作系统和硬件配置上工作,而无需修改。

技术规格

格式结构

JNLP 文件是清晰的文本 XML 文档. 它们由一系列标签组成,定义了 Java 应用程序正在启动的各个方面,如其主要类,所需的图书馆和安全设置。

核心组件

  • 应用信息:包含如名称、供应商、版本号和Java应用的描述等细节。
  • 资源定义:指定下载JAR文件、图像和应用程序所需的其他资源的URL。
  • 安全设置:定义安全权限,如文件访问权利、网络通信能力等。
  • 启动参数:允许自定义应用程序的开始方式,包括命令线论点或环境变量。

标准与兼容性

JNLP 遵守 Oracle 所定义的特定 XML 方案,支持多种版本,但由于图表结构的变化而缺乏主要版本之间的背向兼容性。

历史与进化

Java Web Start 于 2003 年由 Sun Microsystems (后来由 Oracle 收购) 引入 Java 1.4.2 的组成部分,以便在 Web 上简化应用程序部署。

2017 年 9 月,Oracle 宣布 Java Web Start 从 Java SE 9 上开始,引用安全问题和替代部署方法的可用性。 尽管如此,一些遗产系统仍然依靠 JNLP 文件提供应用程序,需要通过 OpenWebStart 等开源项目继续支持。

与 JNLP 文件合作

打开 JNLP 文件

要查看或编辑 JNLP 文件,您可以使用任何标准文本编译器,如 Notepad (Windows), TextEdit (MacOS) 或 Visual Studio 代码。

转换 JNLP 文件

虽然直接转换工具有限,但您可能需要手动更新 JNLP 文件,如果它引用过时的图书馆或安全设置,这通常涉及编辑 XML 内容以适应当前的最佳实践,并确保与现代 Java 版本兼容。

创建 JNLP 文件

JNLP 文件可以使用专门的软件创建,例如 Oracle 的 JWS 工具,这是旧 JDK 分布的一部分。

常用案例

  • Legacy Application Deployment:对于组织仍在运行使用Java Web Start技术构建的应用程序。
  • 教育软件分发:通过网页链接向学生提供教育工具和模拟。
  • 企业内部工具(Internal Tools for Enterprises):在用户机器上使用最小设置的内部业务工具。

优点与限制

优点:

  • 通过自动化安装过程,简化应用程序部署。
  • 确保在不同系统的连续应用环境。
  • 支持版本管理和自动更新。

限制:

  • 在现代Java版本中有限的支持,由于偏差。
  • 安全问题导致其使用量下降。
  • 需要额外设置,以便在新系统上启动应用程序。

开发人员资源

使用 JNLP 文件的编程通过各种 APIs 和图书馆得到支持. 代码示例和实施指南将很快添加。

经常提出的问题

Q:如何打开 JNLP 文件?答: 您可以使用任何文本编辑器查看 JNLP 文件的 XML 内容,或者直接使用 Java Web Start 客户端,如 OpenWebStart。

**Q:我仍然可以运行JNLP文件与现代版本的Java吗?**答: Oracle 的官方支持以 Java SE 9 结束,而 OpenWebStart 等开源项目则可在更新的系统上运行遗传的 JWS 应用程序。

**Q:如果我的申请依赖于JNLP,但需要更新,我该怎么办?**答:考虑将您的部署策略转移到更现代化的方法,如Docker容器或基于云的解决方案,提供更好的安全性和灵活性。

参考

 中文