JNLP是 Java Network Launch Protocol的简写,是一种用来在网络中部署应用程序的一种协议;在客户端只需要安装 java web start就可以使用服务器端的软件,它具有自动更新应用程序版本的功能;其实要部署一个jnlp程序也是很简单的,下面我们就来部署一个简单的程序;要在服务器部署应用程序,一个最主要的就是编写一个部署文件,它是一种xml格式的文件,以jnlp为后缀;而你的应用程序就必须打包成 jar文件格式;假设你你现在有一个HelloJNLP.jar的文件,我们下面就来编写它的部署文件;
新建文件HelloJNLP.jnlp文件,然后使用你喜欢的文件编辑器打开该文件,下面开始来编写该文件
首先在文件中写如xml的版本和使用的编码,这行是可选的,不过在实际部署中最好还是写上这行;如下:
<?xml version="1.0" encoding="UTF-8"?>
然后以<jnlp>标记开始,在这里你要把你应用程序的地址写好,这个地址可以以本地文件目录,也可以是一个网络url,如下
<jnlp spec="1.0+"
codebase="http://192.9.200.156:8080/jnlp"
href="http://192.9.200.156:8080/jnlp/Hello.jnlp">
<!-- codebase 也可以是file:///形式 -->
在<information>中你可以写入在应用程序下载是显示的一些资料,如标题,描述,图标,程序的存放目录等
<information>
<title>Hello</title>
<vendor>HelloJNLP</vendor>
<homepage href=""/>
<icon href="HelloJNLP.jpg"/>
</information>
还有一个可选的<offline-allowed/>标记,它允许application在断网的情况下也能运行;
在<security>中你可以配置程序运行时的安全咨询,它可以是
<j2ee-application-client-permissions/>
<all-permissions/>
这个标记也可以不写;
然后在<resources>中你可以配置jre的版本,程序相对codebase的路径
<resources>
<j2se version="1.5+"/>
<jar href="HelloJNLP.jar"/>
</resources>
假如你在打包jar文件的时候没有指定主类,那么你必须使用以下方法指定一个主类
<application-desc main-class="HelloJNLP"/>
一个完整的jnlp文件是:
<?xml version="1.0" encoding="UTF-8"?>
<!-- file Hello.jnlp -->
<jnlp spec="1.0+"
codebase="http://192.9.200.156:8080/jnlp"
href="http://192.9.200.156:8080/jnlp/Hello.jnlp">
<information>
<title>Hello</title>
<vendor>Tech Tips Sample</vendor>
<homepage href=""/>
<icon href="HelloJNLP.jpg"/>
</information>
<!--
<offline-allowed/>
<security>
<j2ee-application-client-permissions/>
</security>
-->
<resources>
<j2se version="1.5+"/>
<jar href="HelloJNLP.jar"/>
</resources>
<application-desc main-class="HelloJNLP"/>
</jnlp>
我们下面将它部署到tomcat下,首先你需要在%CATALINA_HOME%conf/web.xml中添加一个mime-mapping:
<mime-mapping>
<extension>jnlp</extension>
<mime-type>application/x-java-jnlp-file</mime-type>
</mime-mapping>
然后在%CATALINA_HOME%\webapps下建个jnlp的文件夹,把HelloJNLP.jnlp和HelloJNLP.jar文件copy过去,然后在里面建个WEB-INF目录;
然后你就可以通过http://localhost:8080/jnlp/HelloJNLP.jnlp来运行程序了
文件打包可以通过jdk中的jar,假如要将当前目录下所以文件打包到HelloJNLP.jar中,你可以在dos下输入:
jar -cvf HelloJNLP.jar *.class
你还可以通过keytool、jarsigner来为你的jar文件签名
创建签字
keytool -genkey -keystore myKeys -alias jdc
为jar文件签字
jarsigner -keystore myKeys jarName.jar jdc
原文:http://hi.baidu.com/yclt/blog/item/716d1b08a8fd8730e824886d.html
分享到:
相关推荐
jenkins-jnlp-slave镜像
jnlp开发手把手教,特别适合新接触jnlp的开发着参考,根据步骤能够自己开发
用jnlp开启一个服务,实现本地桌面远程共享
java哪里都好用,不会就用jnlp来下载JAVA吧,就用它来下载,很不错的下载软件
帮助了解JNLP,可以进行JWS的开发,介绍得比较详细。
NULL 博文链接:https://aaron-ch.iteye.com/blog/371037
基于JNLP技术的客户端上传文件的实现,唐游,刘辰,本文介绍了JNLP技术及其应用背景,同时应用了java数字签名实现对客户端文件系统的访问,并生成相应的文件列表,实现了利用JNLP技术的
maven-jnlp-plugin-1.4.jar
本问就jnlp的入门级应用做了讲解,笔者用了自己的所作的实例为大家做演示
java工具包jviewer
提供了使用jfreechar能完成的15大类的图,比如柱状图,饼图等。
纯英文,但是比较简单。学习jws部署可以看看
Jenkins JNLP Agent Docker映像 该映像基于映像,并修复了docker创建的卷的权限问题。 该映像还包含docker二进制文件,并且能够挂载/var/run/docker.sock以使从属服务器能够在从属服务器上运行docker命令。 映像的...
demo 和sourcecode都在
博文链接:https://cddcdd.iteye.com/blog/228985
使用androidscreencast.jnlp,可通过鼠标和键盘操作手机,并且可实时将手机屏幕传回电脑端,还可录屏,也可浏览操作手机。桌面应用程序通过鼠标和键盘远程控制android设备。运行在Windows/Linux/MacOS下可以连接任何...
这个人很懒,什么也没有留下
https://xsavikx.github.io上的一个电脑操作手机并可以录屏的小工具,需要安装jdk
OneWireViewer软件的java运行版本,ONEWIREVIEWER JAVA WEB入门,可以将OneWireViewer作为Java™Web Start程序安装在Java支持的操作系统上。
javafx,java,脚本语言,新技术,例子,很有前景的技术语言,