首页 > 其他分享 >jnlp 令我吃惊!

jnlp 令我吃惊!

时间:2023-09-21 12:37:04浏览次数:26  
标签:jnlp 吃惊 HelloJNLP 文件 部署 jar 应用程序



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



标签:jnlp,吃惊,HelloJNLP,文件,部署,jar,应用程序
From: https://blog.51cto.com/u_16255870/7552810

相关文章