JNLP 文件的结构

原文: https://docs.oracle.com/javase/tutorial/deployment/deploymentInDepth/jnlpFileSyntax.html

本主题描述富 Internet 应用程序(RIA)的 Java 网络启动协议(JNLP)文件的语法。

以下代码段显示了 Java Web Start 应用程序的示例 JNLP 文件:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <jnlp spec="1.0+" codebase="" href="">
  3. <information>
  4. <title>Dynamic Tree Demo</title>
  5. <vendor>Dynamic Team</vendor>
  6. <icon href="sometree-icon.jpg"/>
  7. <offline-allowed/>
  8. </information>
  9. <resources>
  10. <!-- Application Resources -->
  11. <j2se version="1.6+" href=
  12. "http://java.sun.com/products/autodl/j2se"/>
  13. <jar href="DynamicTreeDemo.jar"
  14. main="true" />
  15. </resources>
  16. <application-desc
  17. name="Dynamic Tree Demo Application"
  18. main-class="webstartComponentArch.DynamicTreeApplication"
  19. width="300"
  20. height="300">
  21. </application-desc>
  22. <update check="background"/>
  23. </jnlp>

下表描述了 JNLP 文件中常用的元素和属性。单击父链接以查看元素的父级。


Note: This table does not include all possible contents of the JNLP file. For more information, see the Java Network Launching Protocol and API Specification Change Log.


Commonly Used Elements and Attributes in a JNLP file

元件 属性 描述 以来 需要
jnlp JNLP 文件的最顶层 xml 元素。 1.0
规范 属性的值可以是 1.0,1.5 或 6.0,也可以使用 1.0+等通配符。它表示此 JNLP 文件可以使用的 JNLP 规范的最低版本。 1.0
代码库 JNLP 文件中href属性中指定的所有相对 URL 的基本位置。 1.0
HREF JNLP 文件本身的 URL。 1.0
正在推出的 RIA 版本,以及 JNLP 文件本身的版本。 1.0
信息 <sup></sup> 包含描述 RIA 及其来源的其他元素。 1.0
应考虑此信息元素的操作系统。 1.5.0
应考虑此信息元素的体系结构。 1.5.0
平台 应考虑此信息元素的平台。 1.5.0
现场 应考虑此信息元素的语言环境。 1.5.0
标题 <sup></sup> RIA 的标题。 1.0
供应商 <sup></sup> RIA 的提供者。 1.0
主页 <sup></sup> RIA 的主页。 1.0
HREF 指向可以找到有关此 RIA 的更多信息的 URL。 1.0
描述 <sup></sup> 一篇描述 RIA 的简短声明。 1.0
关于描述类型的指标。合法值是单行,短行和工具提示。 1.0
icon <sup></sup> 可用于向用户标识 RIA 的图标。 1.0
HREF 指向图标文件的 URL。可以采用以下格式之一:gif,jpg,png,ico。 1.0
表示建议使用图标,可以是:默认,选中,禁用,翻转,启动或快捷方式。 1.0
宽度 可用于指示图像的分辨率。 1.0
高度 可用于指示图像的分辨率。 1.0
深度 可用于指示图像的分辨率。 1.0
离线允许 <sup></sup> 表示当客户端系统与网络断开连接时,此 RIA 可以运行。 1.0
快捷方式 <sup></sup> 可用于指示 RIA 对桌面集成的偏好。 1.5.0
线上 可用于描述 RIA 创建在线或离线运行快捷方式的首选项。 1.5.0
桌面 <sup></sup> 可用于指示 RIA 在用户桌面上放置快捷方式的偏好。 1.5.0
菜单 <sup></sup> 可用于指示 RIA 将菜单项放在用户的开始菜单中的首选项。 1.5.0
子菜单 可用于指示 RIA 对放置菜单项的位置的偏好。 1.5.0
关联 <sup>亲本</sup> 可用于向 JNLP 客户端提示 RIA 希望在操作系统中注册为某些扩展和某个 mime 类型的主要处理器。如果包含此元素,则还必须包含 offline-allowed 元素,或者必须为 jnlp 元素设置 href 属性。 1.5.0
扩展 RIA 请求注册处理的文件扩展名列表(以空格分隔)。 1.5.0
MIME 类型 RIA 要求它注册处理的 mime 类型。 1.5.0
相关内容 <sup></sup> 另外一条可与 RIA 集成的相关内容。 1.5.0
HREF 指向相关内容的 URL。 1.5.0
更新 <sup></sup> JNLP 客户端应如何处理 RIA 更新的首选项。 1.6.0
校验 JNLP 客户端何时应检查更新的首选项。值可以是 always,timeout 或 background .. 1.6.0
政策 在 RIA 启动之前,当新版本可用时,优先考虑 JNLP 客户端应如何处理 RIA 更新。值可以是 always,prompt-update 或 prompt-run。 1.6.0
1.0
安全 <sup></sup> 可用于请求增强的权限。如果未包含此元素,则应用程序将在安全沙箱中运行。 1.0
所有权限 <sup></sup> 请求以所有权限运行 RIA。 1.0
j2ee-application-client-permissions <sup>parent</sup> 请求使用符合 J2EE 应用程序客户端环境的安全规范的权限集运行 RIA。 1.0
资源 <sup></sup> 描述 RIA 所需的所有资源。 1.0
应考虑资源元素的操作系统。 1.0
应考虑资源元素的体系结构。 1.0
现场 应考虑资源元素的语言环境。
java 或 j2se <sup></sup> 用于运行 RIA 的 Java 软件版本。 1.6.0(java)
要使用的版本范围的有序列表。 1.0
HREF URL 表示此 Java 版本软件的供应商,以及可从中下载的位置。 1.0
Java 的 VM-ARGS 一组额外的标准和非标准虚拟机参数,RIA 希望 JNLP 客户端在启动 JRE 软件时使用这些参数。 1.0
初始堆尺寸 Java 堆的初始大小。 1.0
最大堆大小 Java 堆的最大大小。 1.0
jar <sup>parent</sup> 一个 JAR 文件,它是 RIA 类路径的一部分。 1.0
HREF JAR 文件的 URL。 1.0
请求的 JAR 文件版本。需要使用基于版本的下载协议 1.0
主要 指示此 JAR 文件是否包含包含 RIA 的main方法的类。 1.0
下载 表示可以懒惰地或在需要时下载此 JAR 文件。 1.0
尺寸 JAR 文件的可下载大小(以字节为单位)。 1.0
部分 可用于将资源组合在一起,以便同时下载它们。 1.0
nativelib <sup>亲本</sup> 一个 JAR 文件,在其根目录中包含本机库。 1.0
HREF JAR 文件的 URL。 1.0
请求的 JAR 文件版本。需要使用基于版本的下载协议 1.0
下载 可以用来表示这个 JAR 文件可以懒得下载。 1.0
尺寸 JAR 文件的可下载大小(以字节为单位)。 1.0
部分 可用于将资源组合在一起,以便同时下载它们。 1.0
延伸 <sup>亲本</sup> 指向要与此 RIA 一起使用的其他 component-desc 或 installer-desc 的指针。 1.0
HREF 附加扩展名 JNLP 文件的 URL。 1.0
附加扩展 JNLP 文件的版本。 1.0
名称 附加扩展名 JNLP 文件的名称 1.0
ext-download <sup>parent</sup> 可以在扩展元素中用于表示组件扩展中包含的部分。 1.0
EXT-部分 可以预期在扩展中找到的部件的名称。 1.0
下载 可用于表示此扩展可以热切或懒散地下载。 1.0
部分 表示此 JNLP 文件中包含扩展名的部件的名称。 1.0
包 <sup></sup> 可用于向 JNLP 客户端指示哪些包在哪些 JAR 文件中实现。 1.0
名称 包名称包含在给定部件的 JAR 文件中。 1.0
部分 包含包含给定包名称的 JAR 文件的部件名称。 1.0
递归 可用于指示可以在给定部件中找到以给定名称开头的所有包名称。 1.0
属性 <sup></sup> 定义可通过System.getPropertySystem.getProperties方法使用的系统属性。 1.0
名称 系统属性的名称。 1.0
系统属性的值。 1.0
注意:JNLP 文件必须包含以下内容之一:application-desc,applet-desc,component-desc 或 installer-desc。 1.0
application-desc <sup>parent</sup> 表示这是应用程序的 JNLP 文件。 1.0
主级 包含应用程序的public static void main(String[])方法的类的名称。 1.0
参数 <sup></sup> 每个参数包含(按顺序)要传递给main方法的附加参数。 1.0
applet-desc <sup></sup> 表示这是 applet 的 JNLP 文件。 1.0
主级 主 applet 类的名称。 1.0
文档基 applet 的文档库为 URL。 1.0
名称 小程序的名称。 1.0
宽度 applet 的宽度(以像素为单位)。 1.0
高度 小程序的高度(以像素为单位)。 1.0
param <sup></sup> 一组可以传递给 applet 的参数。 1.0
名称 此参数的名称。 1.0
此参数的值。 1.0
component-desc <sup>parent</sup> 表示这是组件扩展的 JNLP 文件。 1.0
installer-desc <sup>parent</sup> 表示这是已安装扩展的 JNLP 文件。 1.0
主级 包含安装程序的public static void main(String[])方法的类的名称。 1.0

编码 JNLP 文件

Java Web Start 软件支持以 Java 平台支持的任何字符编码对 JNLP 文件进行编码。有关 Java 平台中字符编码的更多信息,请参阅支持的编码指南。要对 JNLP 文件进行编码,请在该文件的 XML 序言中指定编码。例如,以下行表示 JNLP 文件以 UTF-16 编码。

  1. <?xml version="1.0" encoding="utf-16"?>

Note: The XML prolog itself must be UTF-8-encoded.