部署一个应用到桌面是一件艰难而痛苦的事情,但是来自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。
闽公网安备 35060202000074号