jnlp就是Java Network Launch Protocol。
下面是一个jnlp文件的例子:
<?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>
spec属性指定了JNLP规范的版本号,可以1.0,1.5或者是6.0,当然也可以指定最低版本号,比如1.0+
codebase属性指定了JNLP文件中所有相关Url的baselocation,
href指明了JNLP文件本身的url
这三个属性都不是必须要的。
<jnlp>下的子节点<information>是必须的,它指定了RIA相关的所有资源。
<jnlp>下的两个必要的子节点是: <title>和<vendor>
<title>表示这个应用的标题
<vendr>表示这个应用的提供者
<offlline-allowed>这个节点表示客户点在脱离网络时候仍然可以操作,这个基点不是必须的。
<jnlp>下的子节点<resources>是必须的,指明了此RIA应用所需要的所有资源.
例子中<resources>节点下的两个子节点:
<j2se>不是必需的,这个节点也可以用<java>来代替.
如果出现了<j2se or java>节点,那么必须要包含属性:version
<jar>节点是必须的.<jar>节点必须要有<href>属性,用来标记Jar文件的位置.
main属性标明这个jar是否含有此RIA应用的main方法的class.
<application-dest>说明这是应用程序的jnlp文件.
这个节点在jnlp规范里不是必须的.节点必须有main-class属性,来指明还有main方法的类.
<update>节点的check属性表明了客户端什么时候检查更新.这个值可以是:always,timeout,和background.
要了解关于 jnlp文件的更多规范,可以访问 sunhttp://java.sun.com/docs/books/tutorial/deployment/deploymentInDepth/jnlpFileSyntax.html#jnlp
, 上面有详细的解释。本文上面的例子就是从这个网页上拿下来的。
如果要了解更多关于jnlp的内容,那么只有去下载specification
了,地址是:http://java.sun.com/javase/technologies/desktop/javawebstart/download-spec.html
。上面有6.0.10,6.0,1.5和1.0的规范,和每次版本更新的log,进入下载后会有两个下载让你选在,一个是使用jnlp的,一个是发展jnlp的,不过我都down下了好似没什么差别。
ps:下载页面上有英文和日文版的,每次看到网页上各种语言版本中有日文没中文的都很无奈,哎~~