一。jnlp是什么?是java提供的一种让你可以通过浏览器直接执行java应用程序的途径,它使你可以直接通过一个网页上的url连接打开一个 java应 用程序.好处就不用说了,如果你的java应用程序以jnlp 的方式发布,如果版本升级后,不需要再向所有用户发布版本,只需要更新服务器的版本,这就相当于让java应用程序有了web应用的优点了.
二。jnlp文件的具体说明
 




1. <?xml version="1.0" encoding="UTF-8"?> dl.bitsCN.com网管软件下载  
2.  
3. <!--codebase 属性指出搜索应用程序资源的顶级URL,下面的icon/jar元素都是以这个URL为基本.--> 
4.  
5. <jnlp codebase="http://127.0.0.1:8081/webstart"> blog.bitsCN.com网管博客等你来搏  
6.  
7. <information>   
8.  
9. <!-- 在"开始"-"运行"菜单中输入"javaws"或"javaws -viewer"启动Web Start,会看到客户端已经安装的webstart应用程序--> 
10.  
11. <!--title :应用程序标题 vendor:供应商 so.bitsCN.com网管资料库任你搜 
12.  
13. title/vendor 元素必须,会显示在用"javaws -viewer"命令  
14.  
15. 打开的应用程序缓存查看器(Java Application Cache Viewer)中--> www.bitsCN.net中国网管博客 
16.  
17. <title>HelloWorld</title>   
18.  
19. <vendor>Lively Corporation</vendor>  
20.  
21. <description>HelloWorld Test Example for
22.  
23. <!--homepage :存放有关应用程序的相关文档的URL,如help文件等,仅仅是description作用--> bitsCN.com中国网管联盟 
24.  
25. <homepage href="http://127.0.0.1:8081/webstart/index.html"/>  
26.  
27. <!--icon 指定图标会显示在应用程序缓存查看器中,  
28.  
29. 在查看器中新建webstart快捷方式到桌面时也会显示为快捷方式图标,  
30.  
31. 只支持GIF/JPEG格式,其它格式无效--> 
32.  
33. <icon href="./p_w_picpaths/logo.jpg"/>  
34.  
35.  
36. <!--splash 在sun的文档中提到会出现在webstart启动时的闪屏中,不过可能由于速度问题,我没有观察到--> 
37.  
38. <icon kind="splash" href="./p_w_picpaths/logo.jpg"/>   
39.  
40. <!-- 允许离线启动,可以使用javaws -offline命令--> 
41.  
42. <offline-allowed/> 需要什么来搜一搜吧so.bitsCN.com  
43.  
44. </information>  
45.  
46. <resources>  
47.  
48. <!-- 指定客户端需要安装的j2se版本,下面指定为1.5+,  
49.  
50. 如果版本是1.4,在链接此jnlp文件时会提示更新j2se版本-->  
51.  
52. <j2se version="1.5+"/>  
53.  
54. <!-- 指定要下载到本地的jar文件(注意,所有的文件都需要打包才能够下载),  
55.  
56. 可以包含一些资源文件,如icons/configuration files,可以使用getResource方法取得--> 
57.  
58. <jar href="./jar/jws/helloworld.jar"/>  
59.  
60. </resources>  
61.  
62. <!--application-desc 必须,指定webstart启动时执行jar文件中的哪个类--> 
63.  
64. <application-desc main-class="jws.HelloWorld"/> bitsCN.com中国网管联盟  
65.  
66. </jnlp>

三。应用JNLP部署应用
(1)编写相关应用,打包成一系列jar;
(2)根据jnlp文件说明修改相应的jnlp内容,修改相应的url和jar;
(3)部署jnlp文件和jar到相应的web容器;
(4)编写访问网页,即可使用该应用〔亦可下载jnlp文件使用jws运行应用〕;
四。补充
如果jar需要访问本地文件资源,需要为你的jar文件签名
先在命令行用keytool产生一个keystore文件.
keytool -genkey -keystore you.keystore –alias youApp

命令行用jarsigner签名,当然这时候需要生成keystore时的密码
jarsigner -keystore you.keystore appTest.jar youApp

重新部署即可



转载于:https://blog.51cto.com/huqianhao/954891