前言:当我们遇到以jnlp为后缀的文件的时候会感到很诧异,没关系读完这篇文件你就会明白了。
在java开发的早期,重点被放在了客户端开发。语言中对于applet和安全下载的支持对于万维网(WWW)的发布看上去是个不错的主意。但是现实是java最大的成功在于服务器端,java的强大功能和适应性赢得了服务器端开发者的心。同时,客户端的开发落后了。棘手的开发问题限制了applet的效用,开发者被迫转向基于浏览器的瘦客户端。因此Java Web Start诞生了。
JNLP(Java Network Launching Protocol,java网络加载协议)是java提供的一种可以通过浏览器直接执行java应用程序的途径,它使你可以直接通过一个网页上的url连接打开一个java应用程序。
Java桌面应用程序以JNLP 的方式发布,如果版本升级后,不需要再向所有用户发布版本,只需要更新服务器的版本,这就相当于让java应用程序有了web应用的优点。
Java Web Start 是基于 Java 技术的应用程序的一种部署解决方案。
可以这样说:JNLP是一种协议,而Java Web Start支持这种协议的软件。
Java Web Start 软件使您可以从 Web 下载和运行 Java 应用程序。Java Web Start 软件:
获得 Java Web Start 软件
从 Java 5.0 发布版本开始,Java 运行时环境 (JRE) 中就包含 Java Web Start。这意味着安装 Java 时,将自动安装 Java Web Start。第一次下载采用 Java Web Start 技术的 Java 应用程序时,Java Web Start 软件会自动启动。Java Web Start 软件将整个应用程序高速缓存(存储)到本地计算机上。这样,所有必需的资源都已保存在本地,因此以后再次启动时几乎可以瞬间完成。每次启动应用程序时,Java Web Start 软件组件都会检查应用程序的 Web 站点以确定是否有新的版本;如果有,则立即下载并启动新版本。
注意事项:当你只安装了JDK的时候中断了后面的JRE安装,虽然不硬性开发,但是Java Web Start将无法使用,特别是在你的控制面板中会没有Java小图标。特别显著的是一点是如果你下载了一个后缀名为jnlp的文件,并没有关联程序可以打开它(当然可以用文本编辑器打开),当你将JRE安装上后,文件的图标也会随之变为传统的Java小图标。
官网帮助文档:http://docs.oracle.com/javase/tutorial/deployment/webstart/running.html
使用 Java Web Start 软件来启动应用程序有三种方式:
这与我们点击一个超链接打开一个网页类似,只不过我们打开的不是网页,而是一个Java应用程序。通过查看源代码你会看到类似下面的链接:
Launch Notepad Application
首先我们需要进入Java的控制面板:
然后我们启动Application Cache Viewer
其界面如下图:
当我们缓存一个Java应用程序我们就可以看到它。下面我已我下载的一个Notepad.jnlp来进行简单演示一下:
首先我们双击这个文件,或者在控制台通过javaws命令打开这个文件:
然后就会显示一个下载页面:
下载完成,会弹出提示界面:
这个界面提示了这个文件的详细信息,我们选择运行:
这样我们就完成了缓存和运行这个文件的所有过程,我们反过来看一下Java Application Cache Viewer:
有了吧!这样我们下次就可以通过他直接运行了。
猛然间感觉很诧异,我没有下载安装啊,哪来的图标啊!其实你通过上面的方式,你已经将这个应用程序下载到了本地,所以我们可以直接打开它。可是上面步骤操作已经缓存了这个文件但是也没有看到桌面图标啊?我看了一下官网给的一些文档,里面有段说桌面图标会自动生成,但是也可以通过Java Application Cache Viewer更改设置,但我更改了设置上面的设置也没有生成桌面图标,算了用个笨办法吧!如下图:
这种方式还是非常有效的!!!
上面的示例是官网提供的,你进入第二章开始提供的Java帮助文档就可以找到它:
通过命令提示符:
上面简单说了一下,这里详细的说明一下。通过在命令提示符下键入 javaws jnlp_url 来启动应用程序,其中 jnlp_url 是应用程序的 jnlp 文件的 URL。
这对于懂得Java一点基础的都能够理解。我想会看这篇文章的大家一定都有了这样的基础了!!
参考资料: