欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

jnlp(Java网络加载协议)

程序员文章站 2022-07-12 14:36:38
...
jnlp(Java网络加载协议)原来很简单

Java Network Launching Protocol (JNLP,java网络加载协议)。

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

如何使用jnlp:
1.把你的应用打包成一个可执行的jar文件,放在可以访问的web目录下,如appTest.jar.
用ant脚本可以这样,当然也可以手工用jar工具打包.
        <jar destfile="${desc.dir}/${youApp.jarName}" update="true" compress="true">
   <manifest>
      <attribute name="Main-Class" value=""com.youApp.MainClass"/>
   </manifest>
   
   <fileset dir="${class.dir}">
    ...
   </fileset>

        </jar>


2.编写一个xml文件test.jnlp 内容如下
<?xml version="1.0" encoding="UTF-8"?> 
<jnlp codebase="http://localhost/yousite/" name="SeatingChartBuilder" 
   href="http://localhost/yousite/test.jnlp"> 
   <information>
        <title>Seating Chart Builder</title>
        <vendor>Etix.com, Inc.</vendor>
        <offline-allowed/>
 <description>An Application To Seating Chart Builder!</description>
   </information>
   <application-desc main-class="com.youApp.MainClass"/><!--这里是你的应用的入口程序名-->
   <security>
      <all-permissions/>
   </security>
   <resources>
        <j2se version="1.4+"/> 
        <jar href="appTest.jar" /><!-- 这里是你的打包的应用-->
    </resources>
</jnlp> 

3.必须为你的jar文件签名
先在命令行用keytool产生一个keystore文件.
keytool -genkey -keystore you.keystore –alias youApp

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

ok现在将appTest.jar文件放在你的web的/yousite目录下用地址
http://localhost/yousite/test.jnlp 就可以启动你的应用程序了,
启动时会弹出对话框让你确认签名,点是就可以了.

在这里看看sun的demo吧:http://java.sun.com/products/javawebstart/demos.html
参考 http://www.yeegle.com/articleview/33954.aspx