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.getPropertySystem.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 编码的。

首页