Chinaunix首页 | 论坛 | 博客
  • 博客访问: 251919
  • 博文数量: 62
  • 博客积分: 1547
  • 博客等级: 上尉
  • 技术积分: 672
  • 用 户 组: 普通用户
  • 注册时间: 2006-01-12 23:46
个人简介

music,code,dialog,rest

文章分类

全部博文(62)

文章存档

2020年(2)

2019年(6)

2018年(4)

2017年(5)

2016年(20)

2015年(4)

2014年(2)

2013年(1)

2012年(1)

2011年(1)

2010年(1)

2009年(2)

2007年(10)

2006年(3)

分类: Java

2009-04-26 09:33:16

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

 

阅读(2586) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~