部署一个应用到桌面是一件艰难而痛苦的事情,但是来自Sun的一个新的应用接口(API)使得这件事情变的简单了起来。这个新的技术就是Java Web Start,它解决了许多开发人员要经历的部署问题。
Web Start是一个图形界面(GUI)的应用程序,它位于JNLP(the Java Network Launching Protocol )的顶层。在部署一个新创建的应用到客户端之前,开发人员必须写一个JNLP配置文件。这个文件使用XML格式,包含了应用的信息,包括要求什么样的Java版本和到什么地方检出并下载最新版本。
下面是一个读/写CVS的GUI程序的JNLP文件的例子:
<?xml version="1.0" encoding="utf-8"?><!-- JNLP File for Csv --><jnlp spec="1.0+" codebase="http://www.generationjava.com/jnlp" href="Csv.jnlp"> <information> <title>Csv Application</title> <vendor>GenerationJava</vendor> <homepage href="index.Html"/> <description>Csv Spreadsheet</description> <description kind="short">Lets you view/modify CSVs. </description> <offline-allowed/> </information> <resources> <j2se version="1.2+"/> <jar href="Csv.jar"/> </resources> <application-desc main-class="com/generationjava/apps/csv/Csv"/></jnlp>
在这段代码中,最重要的部分包括:标题,它将在应用安装时显示;J2SE的版本,这里1.2+意味着1.2或者以上版本;启动应用的主类;应用自身的jar。
Web服务器需要配置为以“application/x-java-jnlp-file”的形式返回JNLP文件。当用户点击例子连接http://www.generationjava.com/jnlp/Csv.jnlp的时候,Java Web Star将激活并且下载JNLP文件,进一步它会下载并运行必须的jar。下一次用户在线并且请求这个JNLP文件时,Web Start将检查是否存在新的版本并决定是更新还是启动当前版本。
JNLP应用在一个Java Applet类型的沙箱中运行并且必须被授予特定的访问权限,例如能够读/写文件系统。它是高度可配置的并且远比上面给出的简单例子强大。
Java Web Start和JNLP提供了一种简单的部署Java应用的方法。Apple的新的操作系统OS X对Java非常友好,预安装了Web Start,并且在Windows上的Web Start能填加Web应用到开始菜单中。可下载Java应用的开发者可以根据自己的部署需求考虑使用Java Start。