1. 概述 JNLP是Java应用/Applet快速发布的一种方法。常用于通过Web网页进行Java应用的快速部署。 2. 应用场景 如果不存在Web服务器时,也需要进行Java应用/Applet的访问。 这样JNLP就提供了一种,本地文件系统的访问方式。 3. 原理 使用JNLP标签中的CodeBase,来指定本地文件系统的绝对路径或相对路径。 从文档以及很多官方资料上看,JNLP的codebase,并不支持本地文件系统的相对路径标识。 但是,通过尝试还是发现了JNLP的本地文件系统相对路径的表示方法。 很多资料都说明,只能使用文件系统绝对路径来标识该值,如: jnlp spec="1.5+" codebase="file://c:/temp/guistart" href="guistart.jnlp"> 4. 问题 但是这样会带来很多不变,因为每次在本地文件系统保存这些库文件和jnlp文件都需要修改该属性,才能正常启动。在网上也有很多老外,为此还写了一些程序,对基于CD发行的Java 应用,放置多个指向不同盘符的JNLP,使用一个特制的launch程序,去检测当前的盘符,并启动相应的JNLP文件。这样只要预置26个JNLP就能适用不同CD盘符的可能性了。 但是,难到真的没有识别相对路径的可能了吗?Java不会这么傻吧。 5. 解决方法 其实,只要使用如下格式,就能省不少上面这些画蛇添足的事了。 jnlp spec="1.5+" codebase="file:." href="guistart.jnlp"> 在这种情况下,无论我们的应用在本地文件系统的什么地方,都能直接运行了。 从而真实实现了高效简便的目标。 Zenith518 2009.04.26 本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/3764/showart_1911260.html |