JNLP 文件的结构
本主题描述了用于富 Internet 应用程序(RIA)的 Java 网络启动协议(JNLP)文件的语法。
以下代码段显示了 Java Web Start 应用程序的 samplesJNLP 文件:
<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.0+" codebase="" href="">
<information>
<title>Dynamic Tree Demo</title>
<vendor>Dynamic Team</vendor>
<icon href="sometree-icon.jpg"/>
<offline-allowed/>
</information>
<resources>
<!-- Application Resources -->
<j2se version="1.6+" href=
"http://java.sun.com/products/autodl/j2se"/>
<jar href="DynamicTreeDemo.jar"
main="true" />
</resources>
<application-desc
name="Dynamic Tree Demo Application"
main-class="webstartComponentArch.DynamicTreeApplication"
width="300"
height="300">
</application-desc>
<update check="background"/>
</jnlp>
下表描述了 JNLP 文件中常用的元素和属性。单击父级链接以查看元素的父级。
Note:
该表不包括 JNLP 文件的所有可能的内容。有关更多信息,请参见Java 网络启动协议和 API 规范更改日志。
*** JNLP 文件中的常用元素和属性** *
Element | Attributes | Description | Since | Required |
---|---|---|---|---|
jnlp | JNLP 文件的最上面的 xml 元素。 | 1.0 | Yes | |
spec | 该属性的值可以是 1.0、1.5 或 6.0,也可以使用通配符,例如 1.0. 它表示此 JNLP 文件可以使用的 JNLP 规范的最低版本。 | 1.0 | ||
codebase | JNLP 文件中href 属性中指定的所有相对 URL 的基本位置。 | 1.0 | ||
href | JNLP 文件本身的 URL。 | 1.0 | ||
version | 正在启动的 RIA 版本以及 JNLP 文件本身的版本。 | 1.0 | ||
information parent | 包含描述 RIA 及其来源的其他元素。 | 1.0 | Yes | |
os | 应考虑此信息元素的 os。 | 1.5.0 | ||
arch | 应考虑此信息元素的体系结构。 | 1.5.0 | ||
platform | 应考虑此信息元素的平台。 | 1.5.0 | ||
locale | 应考虑此信息元素的语言环境。 | 1.5.0 | ||
title parent | RIA 的标题。 | 1.0 | Yes | |
vendor parent | RIA 的提供者。 | 1.0 | Yes | |
homepage parent | RIA 的主页。 | 1.0 | ||
href | 指向可在其中找到有关此 RIA 的更多信息的 URL。 | 1.0 | Yes | |
description parent | 描述 RIA 的简短声明。 | 1.0 | ||
kind | 描述类型的指示器。合法值是单行,简短和工具提示。 | 1.0 | ||
icon parent | 可用于向用户标识 RIA 的图标。 | 1.0 | ||
href | 指向图标文件的 URL。可以采用以下格式之一:gif,jpg,png,ico。 | 1.0 | Yes | |
kind | 指示图标的建议用法,可以是:默认,选中,禁用,翻转,启动或快捷方式。 | 1.0 | ||
width | 可以用来指示图像的分辨率。 | 1.0 | ||
height | 可以用来指示图像的分辨率。 | 1.0 | ||
depth | 可以用来指示图像的分辨率。 | 1.0 | ||
offline-allowed parent | 表示当 Client 端系统与网络断开连接时,此 RIA 可以运行。 | 1.0 | ||
shortcut parent | 可用于指示 RIA 对桌面集成的偏好。 | 1.5.0 | ||
online | 可以用来描述 RIA 创建在线或离线运行快捷方式的偏好。 | 1.5.0 | ||
desktop parent | 可以用于指示 RIA 偏好在用户桌面上放置快捷方式。 | 1.5.0 | ||
menu parent | 可以用于指示 RIA 偏好将菜单项放置在用户的开始菜单中。 | 1.5.0 | ||
sub-menu | 可以用来指示 RIA 偏好放置菜单项的位置。 | 1.5.0 | ||
association parent | 可以用来向 JNLPClient 端提示 RIA 希望在 os 中注册为某些 extensions 和某些 mime 类型的主要处理程序。如果包含此元素,则还必须包含离线允许的元素,或者必须为 jnlp 元素设置 href 属性。 | 1.5.0 | ||
extensions | RIA 要求注册要处理的文件 extensions 列表(以空格分隔)。 | 1.5.0 | ||
mime-type | RIA 要求注册要处理的 MIME 类型。 | 1.5.0 | ||
related-content parent | 可以与 RIA 集成的其他相关内容。 | 1.5.0 | ||
href | 指向相关内容的 URL。 | 1.5.0 | Yes | |
update parent | JNLPClient 端应如何处理 RIA 更新的首选项。 | 1.6.0 | ||
check | JNLPClient 端应何时检查更新的首选项。值可以是始终,超时或背景。 | 1.6.0 | ||
policy | 在 RIA 启动之前有新版本可用时,JNLPClient 端应如何处理 RIA 更新的首选项。值可以是始终,即时更新或即时运行。 | 1.6.0 | ||
1.0 | ||||
security parent | 可用于请求增强的权限。如果不包括此元素,则在安全沙箱中运行该应用程序。 | 1.0 | ||
all-permissions parent | 请求以所有权限运行 RIA。 | 1.0 | ||
j2ee-application-client-permissions parent | 请求以符合 J2EE 应用程序 Client 端环境的安全性规范的权限集运行 RIA。 | 1.0 | ||
resources parent | 描述 RIA 所需的所有资源。 | 1.0 | Yes | |
os | 应该考虑资源元素的 os。 | 1.0 | ||
arch | 应该考虑资源元素的体系结构。 | 1.0 | ||
locale | 应该考虑使用 resource 元素的语言环境。 | |||
java 或 j2se parent | 运行 RIA 的 Java 软件版本。 | 1.6.0 (java) | ||
version | 要使用的版本范围的有序列表。 | 1.0 | Yes | |
href | 表示此 Java 软件版本的供应商的 URL,以及可从何处下载的 URL。 | 1.0 | ||
java-vm-args | 在启动 JRE 软件时,RIA 会首选 JNLPClient 端使用的一组标准和非标准虚拟机参数。 | 1.0 | ||
initial-heap-size | Java 堆的初始大小。 | 1.0 | ||
max-heap-size | Java 堆的最大大小。 | 1.0 | ||
jar parent | 一个 RIA 的 classpath 的 JAR 文件。 | 1.0 | Yes | |
href | JAR 文件的 URL。 | 1.0 | Yes | |
version | 请求的 JAR 文件版本。需要使用基于版本的下载协议 | 1.0 | ||
main | 指示此 JAR 文件是否包含包含 RIA 的main 方法的类。 | 1.0 | ||
download | 表示可以懒惰地或在需要时下载此 JAR 文件。 | 1.0 | ||
size | JAR 文件的可下载大小(以字节为单位)。 | 1.0 | ||
part | 可用于将资源分组在一起,以便同时下载它们。 | 1.0 | ||
nativelib parent | 一个 JAR 文件,其根目录中包含本机库。 | 1.0 | ||
href | JAR 文件的 URL。 | 1.0 | Yes | |
version | 请求的 JAR 文件版本。需要使用基于版本的下载协议 | 1.0 | ||
download | 可以用来指示此 JAR 文件可以延迟下载。 | 1.0 | ||
size | JAR 文件的可下载大小(以字节为单位)。 | 1.0 | ||
part | 可用于将资源分组在一起,以便将它们同时下载。 | 1.0 | ||
extension parent | 指向与此 RIA 一起使用的其他 component-desc 或 installer-desc 的指针。 | 1.0 | ||
href | 附加 extensionsJNLP 文件的 URL。 | 1.0 | Yes | |
version | 附加 extensionsJNLP 文件的版本。 | 1.0 | ||
name | 附加 extensionsJNLP 文件的名称 | 1.0 | ||
ext-download parent | 可以在扩展元素中使用以表示组件扩展中包含的部分。 | 1.0 | ||
ext-part | 可以在 extensions 中找到的 Component 的名称。 | 1.0 | Yes | |
download | 可以用来指示此 extensions 可以被急切或懒惰地下载。 | 1.0 | ||
part | 表示此 JNLP 文件中要包含 extensions 的 Component 的名称。 | 1.0 | ||
package parent | 可以用来向 JNLPClient 端指示在哪个 JAR 文件中实现了哪些包。 | 1.0 | ||
name | 给定 Component 的 JAR 文件中包含的程序包名称。 | 1.0 | Yes | |
part | 包含包含给定包名称的 JAR 文件的部件名称。 | 1.0 | Yes | |
recursive | 可以用来表示在给定的部分中可以找到以给定名称开头的所有程序包名称。 | 1.0 | ||
property parent | 定义将通过System.getProperty 和System.getProperties 方法可用的系统属性。 | 1.0 | ||
name | 系统属性的名称。 | 1.0 | Yes | |
value | 系统属性的值。 | 1.0 | Yes | |
注意:JNLP 文件必须包含以下之一:application-desc,applet-desc,component-desc 或 installer-desc。 | 1.0 | Yes | ||
application-desc parent | 表示这是应用程序的 JNLP 文件。 | 1.0 | ||
main-class | 包含应用程序的public static void main(String[]) 方法的类的名称。 | 1.0 | Yes | |
argument parent | 每个自变量包含(按 Sequences)要传递给main 方法的附加自变量。 | 1.0 | ||
applet-desc parent | 表示这是小应用程序的 JNLP 文件。 | 1.0 | ||
main-class | 主 Servlets 类的名称。 | 1.0 | Yes | |
documentbase | Servlets 的文档库,作为 URL。 | 1.0 | ||
name | Servlets 的名称。 | 1.0 | Yes | |
width | Servlets 的宽度(以像素为单位)。 | 1.0 | Yes | |
height | Servlets 的高度(以像素为单位)。 | 1.0 | Yes | |
param parent | 可以传递给 Servlets 的一组参数。 | 1.0 | ||
name | 此参数的名称。 | 1.0 | Yes | |
value | 此参数的值。 | 1.0 | Yes | |
component-desc parent | 表示这是组件扩展的 JNLP 文件。 | 1.0 | ||
installer-desc parent | 表示这是已安装扩展的 JNLP 文件。 | 1.0 | ||
main-class | 包含安装程序的public static void main(String[]) 方法的类的名称。 | 1.0 | Yes |
编码 JNLP 文件
Java Web Start 软件支持 Java 平台支持的任何字符编码的 JNLP 文件编码。有关 Java 平台中字符编码的更多信息,请参见支持的编码指南。要编码 JNLP 文件,请在该文件的 XML 序言中指定编码。例如,以下行指示 JNLP 文件以 UTF-16 编码。
<?xml version="1.0" encoding="utf-16"?>
Note:
XML 序言本身必须是 UTF-8 编码的。