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 文件中的常用元素和属性** *

ElementAttributesDescriptionSinceRequired
jnlpJNLP 文件的最上面的 xml 元素。1.0Yes
spec该属性的值可以是 1.0、1.5 或 6.0,也可以使用通配符,例如 1.0. 它表示此 JNLP 文件可以使用的 JNLP 规范的最低版本。1.0
codebaseJNLP 文件中href属性中指定的所有相对 URL 的基本位置。1.0
hrefJNLP 文件本身的 URL。1.0
version正在启动的 RIA 版本以及 JNLP 文件本身的版本。1.0
information parent包含描述 RIA 及其来源的其他元素。1.0Yes
os应考虑此信息元素的 os。1.5.0
arch应考虑此信息元素的体系结构。1.5.0
platform应考虑此信息元素的平台。1.5.0
locale应考虑此信息元素的语言环境。1.5.0
title parentRIA 的标题。1.0Yes
vendor parentRIA 的提供者。1.0Yes
homepage parentRIA 的主页。1.0
href指向可在其中找到有关此 RIA 的更多信息的 URL。1.0Yes
description parent描述 RIA 的简短声明。1.0
kind描述类型的指示器。合法值是单行,简短和工具提示。1.0
icon parent可用于向用户标识 RIA 的图标。1.0
href指向图标文件的 URL。可以采用以下格式之一:gif,jpg,png,ico。1.0Yes
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
extensionsRIA 要求注册要处理的文件 extensions 列表(以空格分隔)。1.5.0
mime-typeRIA 要求注册要处理的 MIME 类型。1.5.0
related-content parent可以与 RIA 集成的其他相关内容。1.5.0
href指向相关内容的 URL。1.5.0Yes
update parentJNLPClient 端应如何处理 RIA 更新的首选项。1.6.0
checkJNLPClient 端应何时检查更新的首选项。值可以是始终,超时或背景。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.0Yes
os应该考虑资源元素的 os。1.0
arch应该考虑资源元素的体系结构。1.0
locale应该考虑使用 resource 元素的语言环境。
java 或 j2se parent运行 RIA 的 Java 软件版本。1.6.0 (java)
version要使用的版本范围的有序列表。1.0Yes
href表示此 Java 软件版本的供应商的 URL,以及可从何处下载的 URL。1.0
java-vm-args在启动 JRE 软件时,RIA 会首选 JNLPClient 端使用的一组标准和非标准虚拟机参数。1.0
initial-heap-sizeJava 堆的初始大小。1.0
max-heap-sizeJava 堆的最大大小。1.0
jar parent一个 RIA 的 classpath 的 JAR 文件。1.0Yes
hrefJAR 文件的 URL。1.0Yes
version请求的 JAR 文件版本。需要使用基于版本的下载协议1.0
main指示此 JAR 文件是否包含包含 RIA 的main方法的类。1.0
download表示可以懒惰地或在需要时下载此 JAR 文件。1.0
sizeJAR 文件的可下载大小(以字节为单位)。1.0
part可用于将资源分组在一起,以便同时下载它们。1.0
nativelib parent一个 JAR 文件,其根目录中包含本机库。1.0
hrefJAR 文件的 URL。1.0Yes
version请求的 JAR 文件版本。需要使用基于版本的下载协议1.0
download可以用来指示此 JAR 文件可以延迟下载。1.0
sizeJAR 文件的可下载大小(以字节为单位)。1.0
part可用于将资源分组在一起,以便将它们同时下载。1.0
extension parent指向与此 RIA 一起使用的其他 component-desc 或 installer-desc 的指针。1.0
href附加 extensionsJNLP 文件的 URL。1.0Yes
version附加 extensionsJNLP 文件的版本。1.0
name附加 extensionsJNLP 文件的名称1.0
ext-download parent可以在扩展元素中使用以表示组件扩展中包含的部分。1.0
ext-part可以在 extensions 中找到的 Component 的名称。1.0Yes
download可以用来指示此 extensions 可以被急切或懒惰地下载。1.0
part表示此 JNLP 文件中要包含 extensions 的 Component 的名称。1.0
package parent可以用来向 JNLPClient 端指示在哪个 JAR 文件中实现了哪些包。1.0
name给定 Component 的 JAR 文件中包含的程序包名称。1.0Yes
part包含包含给定包名称的 JAR 文件的部件名称。1.0Yes
recursive可以用来表示在给定的部分中可以找到以给定名称开头的所有程序包名称。1.0
property parent定义将通过System.getPropertySystem.getProperties方法可用的系统属性。1.0
name系统属性的名称。1.0Yes
value系统属性的值。1.0Yes
注意:JNLP 文件必须包含以下之一:application-desc,applet-desc,component-desc 或 installer-desc。1.0Yes
application-desc parent表示这是应用程序的 JNLP 文件。1.0
main-class包含应用程序的public static void main(String[])方法的类的名称。1.0Yes
argument parent每个自变量包含(按 Sequences)要传递给main方法的附加自变量。1.0
applet-desc parent表示这是小应用程序的 JNLP 文件。1.0
main-class主 Servlets 类的名称。1.0Yes
documentbaseServlets 的文档库,作为 URL。1.0
nameServlets 的名称。1.0Yes
widthServlets 的宽度(以像素为单位)。1.0Yes
heightServlets 的高度(以像素为单位)。1.0Yes
param parent可以传递给 Servlets 的一组参数。1.0
name此参数的名称。1.0Yes
value此参数的值。1.0Yes
component-desc parent表示这是组件扩展的 JNLP 文件。1.0
installer-desc parent表示这是已安装扩展的 JNLP 文件。1.0
main-class包含安装程序的public static void main(String[])方法的类的名称。1.0Yes

编码 JNLP 文件

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

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

Note:

XML 序言本身必须是 UTF-8 编码的。