zoukankan      html  css  js  c++  java
  • jnlp

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

    jnlp文件的具体说明: 

    应用JNLP部署应用 
    (1)编写相关应用,打包成一系列jar; 
    (2)根据jnlp文件说明修改相应的jnlp内容,修改相应的url和jar; 
    (3)部署jnlp文件和jar到相应的web容器; 
    (4)编写访问网页,即可使用该应用〔亦可下载jnlp文件使用jws运行应用〕; 

    补充:如果jar需要访问本地文件资源,需要为你的jar文件签名 

      之前做过的一个系统部署如下: 
      1使用ant文件进行打包生成相应的jar文件,及进行文件签名等,生成工程所需的所有架包文件到指定到某个工程目录下,然后指定签证的路径(一般是指定到登陆客户端的project下) 
      2打好包之后,所有的架包都需要在login的页面加入以下代码; 

    Java代码  收藏代码
    1. <jnlp codebase="<%=realPath%>">  
    2.   
    3. <information>  
    4. <title>Transfers-inforesRES-参数开通平台</title>  
    5. <vendor>  
    6. ...  
    7. </vendor>  
    8. </information>  
    9.   
    10. <resources>  
    11.  //所有的架包,都绑定了版本号,每次发布都需要给本地工程的jar +1,例如 :paraClient.jar  
    12. <j2se version="1.5+" java-vm-args="-Xms64m -Xmx512m" />  
    13. <jar href="parasigned/paraClient.jar" version="1.1"/>   
    14. <jar href="parasigned/rc_res.jar" version="1.1"/>  
    15. <jar href="parasigned/ant.jar" version="1.0"/>  
    16. <jar href="parasigned/antlr-2.7.6.jar" version="1.0"/>  
    17. <jar href="parasigned/asm-2.2.3.jar" version="1.0"/>  
    18. <jar href="parasigned/aspectjrt.jar" version="1.0"/>  
    19. <jar href="parasigned/aspectjweaver.jar" version="1.0"/>  
    20. <jar href="parasigned/cglib-nodep-2.1_3.jar" version="1.0"/>  
    21. <jar href="parasigned/com.springsource.com.caucho-3.1.6.jar" version="1.0"/>  
    22. <jar href="parasigned/commons-beanutils.jar" version="1.0"/>  
    23. <jar href="parasigned/commons-io-1.3.2.jar" version="1.0"/>  
    24. <jar href="parasigned/commons-lang.jar" version="1.0"/>  
    25. <jar href="parasigned/commons-logging-1.1.1.jar" version="1.0"/>  
    26. <jar href="parasigned/dozer-5.0.jar" version="1.0"/>  
    27. <jar href="parasigned/flexjson.jar" version="1.0"/>  
    28. <jar href="parasigned/forms-1.2.1.jar" version="1.0"/>  
    29. <jar href="parasigned/jakarta-oro-2.0.8.jar" version="1.0"/>  
    30. <jar href="parasigned/jakarta-regexp-1.5.jar" version="1.0"/>  
    31. <jar href="parasigned/jcalendar.jar" version="1.0"/>  
    32. <jar href="parasigned/jdom.jar" version="1.0"/>  
    33. <jar href="parasigned/jide-oss-2.5.3.jar" version="1.0"/>  
    34. <jar href="parasigned/JImage.jar" version="1.0"/>  
    35. <jar href="parasigned/jwf-1.0.1.jar" version="1.0"/>  
    36. <jar href="parasigned/jxl.jar" version="1.0"/>  
    37. <jar href="parasigned/jxls-core-0.9.8.jar" version="1.0"/>  
    38. <jar href="parasigned/jxls-reader-0.9.8.jar" version="1.0"/>  
    39. <jar href="parasigned/log4j-1.2.15.jar" version="1.0"/>  
    40. <jar href="parasigned/looks.jar" version="1.0"/>  
    41. <jar href="parasigned/neethi-2.0.4.jar" version="1.0"/>  
    42. <jar href="parasigned/OpenSwing.jar" version="1.1"/>  
    43. <jar href="parasigned/OpenSwingBeanInfo.jar" version="1.0"/>  
    44. <jar href="parasigned/poi-3.2-FINAL-20081019.jar" version="1.0"/>  
    45. <jar href="parasigned/poi-contrib-3.2-FINAL-20081019.jar" version="1.0"/>  
    46. <jar href="parasigned/poi-scratchpad-3.2-FINAL-20081019.jar" version="1.0"/>  
    47. <jar href="parasigned/simple-json.jar" version="1.0"/>  
    48. <jar href="parasigned/slf4j-api-1.5.0.jar" version="1.0"/>  
    49. <jar href="parasigned/slf4j-log4j12-1.5.0.jar" version="1.0"/>  
    50. <jar href="parasigned/spring.jar" version="1.0"/>  
    51. <jar href="parasigned/swing-layout.jar" version="1.0"/>  
    52. <jar href="parasigned/twaver.jar" version="1.0"/>  
    53. <jar href="parasigned/substance.jar" version="1.0"/>  
    54. <jar href="parasigned/DJNativeSwing.jar" version="1.0"/>  
    55. <jar href="parasigned/DJNativeSwing-SWT.jar" version="1.0"/>  
    56. <jar href="parasigned/jna_WindowUtils.jar" version="1.0"/>  
    57. <jar href="parasigned/jna-3.2.4.jar" version="1.0"/>  
    58. <jar href="parasigned/MozillaInterfaces-1.8.1.3.jar" version="1.0"/>  
    59. <jar href="parasigned/swt-3.6M6-win32-win32-x86.jar" version="1.0"/>  
    60. <jar href="parasigned/dom4j-1.6.1.jar" version="1.0"/>  
    61. <jar href="parasigned/commons-collections-3.1.jar" version="1.0"/>  
    62. </resources>  
    63.   
    64.   
    65. <security>  
    66. <all-permissions />  
    67. </security>  
    68.   
    69. //登陆时候需要认证的参数;  
    70. <application-desc main-class="Launch">  
    71. <argument><%=URL%></argument>  
    72. <argument><%=port%></argument>  
    73. <argument><%=staffcode%></argument>  
    74. <argument><%=passwdMd5%></argument>  
    75. <argument>product</argument>  
    76. <argument><%=SysCode%></argument>  
    77. <argument><%=timestamp%></argument>  
    78. </application-desc>  
    79.   
    80. </jnlp>  



    ant 文件: 

    Java代码  收藏代码
    1. <?xml version="1.0"?>  
    2. <project name="backend" default="upload">  
    3.     <description>  
    4.             This is the build.xml for ant in the ddz project  
    5.     </description>      
    6.   
    7.         <property environment="env" />  
    8.         <property name="base.dir" value="." />  
    9.         <property name="shared.dir" value="../rcSharedProject" />  
    10.         <property name="project.name" value="backend" />  
    11.         <property name="application.name" value="lobby" />  
    12.           
    13.         <target name="detect.file"   >     
    14.             <echo>正在检查是否存在${base.dir}/build-${user.name}.properties文件....</echo>  
    15.           <condition property="fileIsExists" >     
    16.           <and>     
    17.            <available file="${base.dir}/build-${user.name}.properties"/>   
    18.           </and>     
    19.           </condition>  
    20.         </target>  
    21.         <target name="loadUserProperty" if="fileIsExists" depends="detect.file">     
    22.             <echo>存在${base.dir}/build-${user.name}.properties文件....</echo>  
    23.             <property file="${base.dir}/build-${user.name}.properties"/>  
    24.         </target>  
    25.         <target name="loadDefaultProperty" unless="fileIsExists" depends="loadUserProperty">     
    26.             <echo>不存在${base.dir}/build-${user.name}.properties文件!使用默认TOMCAT配置..</echo>  
    27.             <property file="build.properties"/>  
    28.         </target>  
    29.           
    30.         <target name="init" depends="loadDefaultProperty">  
    31.                 <echo>tomcat.root=${tomcat.root}/</echo>  
    32.   
    33.                 <property name="app.root" value="${tomcat.root}/webapps/${application.name}" />  
    34.                 <property name="cache.root" value="${tomcat.root}/work/Catalina/localhost/${application.name}" />  
    35.                   
    36.                 <property name="base.dir" value="." />  
    37.                 <property name="shared.dir" value="../transSharedProject" />  
    38.                   
    39.                   
    40.                 <property name="global.dir" value="${shared.dir}/global" />  
    41.                 <property name="domains.dir" value="${shared.dir}/domains" />  
    42.                 <property name="servicesInterface.dir" value="${shared.dir}/services" />  
    43.   
    44.   
    45.                 <property name="uis.dir" value="${base.dir}/UIS" />  
    46.       
    47.                 <property name="config.dir" value="${base.dir}/config" />  
    48.       
    49.                 <property name="classes.dir" value="${base.dir}/publish/classes" />  
    50.                 <property name="WebRoot.dir" value="${base.dir}/WebRoot" />  
    51.                 <property name="lib.dir" value="${base.dir}/lib" />  
    52.                   
    53.                 <property name="dist.dir" value="${base.dir}/publish/dist" />  
    54.                 <property name="jarfile" value="${project.name}.jar" />  
    55.       
    56.                 <property name="publish.dir" value="${base.dir}/publish" />  
    57.                   
    58.   
    59.                 <path id="classpath">  
    60.                     <fileset dir="${lib.dir}">  
    61.                         <include name="*.jar" />  
    62.                     </fileset>  
    63.                     <path location="${classes.dir}" />  
    64.                 </path>  
    65.                 <mkdir dir="${classes.dir}" />  
    66.                 <mkdir dir="${dist.dir}" />  
    67.         </target>  
    68.   
    69.   
    70.       
    71.       
    72.     <!-- 数字签名用的密钥信息参数 -->  
    73.      <property name="keystoreName" value="gpdi.inforessystem"/>  
    74.   
    75.      <property name="storepass" value="gpdi.inforessystem"/>  
    76.      <property name="keystore" location="${base.dir}/publish/${keystoreName}"/>  
    77.      <property name="keypass" value="gpdi.inforessystem"/>  
    78.      <property name="keysize" value="1024"/>  
    79.      <property name="alias" value="gpdi.inforessystem"/>  
    80.      <property name="validity" value="3650"/>  
    81.   
    82.   
    83.   
    84.     <target name="compile" depends="init">  
    85.         <copy todir="${dist.dir}">  
    86.                     <fileset dir="${uis.dir}">  
    87.                         <include name="**" />  
    88.                     </fileset>  
    89.                     <fileset dir="${global.dir}">  
    90.                             <include name="**" />  
    91.                     </fileset>  
    92.                     <fileset dir="${domains.dir}">  
    93.                             <include name="**" />  
    94.                     </fileset>  
    95.                     <fileset dir="${servicesInterface.dir}">  
    96.                             <include name="**" />  
    97.                     </fileset>  
    98.         </copy>  
    99.         <javac srcdir="${dist.dir}" encoding="utf-8"  destdir="${classes.dir}" includes="**" debug="on">  
    100.                 <classpath refid="classpath" />  
    101.         </javac>  
    102.         <copy todir="${classes.dir}">  
    103.                 <fileset dir="${uis.dir}">  
    104.                     <include name="**" />  
    105.                 </fileset>  
    106.                 <fileset dir="${config.dir}">  
    107.                     <include name="**" />  
    108.                 </fileset>  
    109.                 <fileset dir="${domains.dir}">  
    110.                     <include name="**" />  
    111.                 </fileset>      
    112.         </copy>  
    113.     </target>  
    114.   
    115.   
    116.       
    117.     <target name="jar" depends="compile">  
    118.         <mkdir dir="${publish.dir}" />  
    119.         <mkdir dir="${publish.dir}/lib" />  
    120.         <mkdir dir="${publish.dir}/signed" />  
    121.         <jar destfile="${publish.dir}/lib/${jarfile}">  
    122.             <fileset dir="${classes.dir}">  
    123.                 <include name="**" />  
    124.             </fileset>  
    125.         </jar>      
    126.         <copy todir="${publish.dir}/lib">  
    127.             <fileset dir="${lib.dir}">  
    128.                         <include name="*.jar" />  
    129.             </fileset>  
    130.         </copy>  
    131.         <copy todir="${publish.dir}">  
    132.             <fileset dir="${base.dir}">  
    133.                         <include name="*.bat" />  
    134.             </fileset>  
    135.         </copy>  
    136.     </target>  
    137.       
    138.     <!-- 创建证书 -->  
    139.      <target name="genericKey">  
    140.       <echo message="genkey..."/>  
    141.       <delete>  
    142.        <fileset dir="${base.dir}/publish">  
    143.            <include name="${keystoreName}"/>  
    144.        </fileset>  
    145.       </delete>  
    146.       <genkey keystore="${keystore}" storepass="${storepass}" alias="${alias}" keypass="${keypass}" keysize="${keysize}"  
    147.         verbose="true" validity="${validity}" dname="CN=GPDI, OU=Infores, O=gpdi.com, C=ZH">  
    148.       </genkey>  
    149.       <echo message="genkey... done"/>  
    150.      </target>  
    151.   
    152.     <!-- 对JAR进行数字签名 -->  
    153.      <target name="signJar" depends="jar, genericKey">  
    154.       <echo message="jarsigner..." />    
    155.          <delete>  
    156.                <fileset dir="${base.dir}/publish/signed">  
    157.                    <include name="**.jar"/>  
    158.                </fileset>  
    159.         </delete>  
    160.         <signjar destDir="${base.dir}/publish/signed"  
    161.             alias="${alias}" keystore="${keystore}"  
    162.             storepass="${storepass}">  
    163.           <path>  
    164.             <fileset dir="${base.dir}/publish/lib" includes="**.jar" />  
    165.           </path>  
    166.           <flattenmapper />  
    167.         </signjar>  
    168.       <echo message="jarsigner... done." />  
    169.      </target>  
    170.       
    171.     <target name="clean-cache"  depends="signJar">  
    172.         <mkdir dir="${cache.root}" />  
    173.         <delete>  
    174.             <fileset dir="${cache.root}">  
    175.                 <include name="**"/>  
    176.             </fileset>  
    177.         </delete>  
    178.     </target>  
    179.       
    180.     <target name="deploy"  depends="clean-cache">  
    181.             <mkdir dir="${app.root}" />  
    182.             <mkdir dir="${app.root}/signed" />  
    183.             <mkdir dir="${app.root}/WEB-INF" />  
    184.             <mkdir dir="${app.root}/WEB-INF/lib" />  
    185.             <mkdir dir="${app.root}/WEB-INF/classes" />  
    186.                   
    187.             <!--<copy todir="${app.root}/">  
    188.                     <fileset dir="${WebRoot.dir}">  
    189.                         <include name="**" />  
    190.                     </fileset>  
    191.             </copy>-->  
    192.           
    193.             <copy todir="${app.root}/signed">  
    194.                     <fileset dir="${base.dir}/publish/signed">  
    195.                         <include name="**.jar" />  
    196.                     </fileset>  
    197.             </copy>  
    198.               
    199.     </target>  
    200.       
    201.     <target name="upload"  depends="clean-cache">  
    202.             <mkdir dir="${app.root}" />  
    203.             <mkdir dir="${app.root}/signed" />  
    204.             <mkdir dir="${app.root}/WEB-INF" />  
    205.             <mkdir dir="${app.root}/WEB-INF/lib" />  
    206.             <mkdir dir="${app.root}/WEB-INF/classes" />  
    207.                   
    208.             <!--<copy todir="${app.root}/">  
    209.                     <fileset dir="${WebRoot.dir}">  
    210.                         <include name="**" />  
    211.                     </fileset>  
    212.             </copy>-->  
    213.           
    214.             <copy todir="${app.root}/signed">  
    215.                 <fileset dir="${base.dir}/publish/signed">  
    216.                         <include name="**.jar" />  
    217.                 </fileset>  
    218.             </copy>  
    219.             <copy todir="${app.root}">  
    220.                     <fileset dir="${base.dir}/publish">  
    221.                         <include name="start.bat" />  
    222.                     </fileset>  
    223.             </copy>  
    224.     </target>  
    225.       
    226.         <!-- 远程部署TOMCAT属性  
    227.     <property name="server.address" value="211.155.23.240" />  
    228.     <property name="server.sshport" value="22" />  
    229.     <property name="server.tomcat.port" value="8080" />  
    230.     <property name="server.tomcat.service" value="Tomcat6" />  
    231.     <property name="server.tomcat.path" value="D:envapache-tomcat-6.0.14webapps" />  
    232.     <property name="server.username" value="gpdi.infores" />        
    233.     <property name="server.password" value="1qaz2wsx" />  
    234.     -->  
    235.     <target name="detect">  
    236.             <condition property="tomcat.running" >  
    237.                 <and>  
    238.                     <socket server="${server.address}" port="${server.tomcat.port}" />  
    239.                 </and>  
    240.             </condition>  
    241.         </target>           
    242.         <target name="tomcat.stop" if="tomcat.running" description="停止TOMCAT" depends="init">  
    243.             <echo> rexec 到${server.address}</echo>     
    244.             <echo message="正在停止TOMCAT..." />   
    245.                   <sshexec   
    246.                     host="${server.address}"   
    247.                     username="${server.username}"   
    248.                     password="${server.password}"    
    249.                     port="${server.sshport}"   
    250.                     trust="true"   
    251.                     command="net stop ${server.tomcat.service}"/>  
    252.                   <waitfor>  
    253.                     <not>  
    254.                         <socket server="${server.address}" port="${server.tomcat.port}" />  
    255.                     </not>  
    256.             </waitfor>   
    257.         </target>    
    258.           
    259.         <target name="tomcat.start"   
    260.                 description="modify application database and sysid"   
    261.                 depends="init">  
    262.              <echo> rexec 到${server.address}</echo>     
    263.              <echo message="正在启动TOMCAT..." />   
    264.              <sshexec   
    265.                             host="${server.address}"   
    266.                             username="${server.username}"   
    267.                             password="${server.password}"    
    268.                             port="${server.sshport}"   
    269.                             trust="true"   
    270.                             command="net start ${server.tomcat.service}"/>  
    271.                 <waitfor>  
    272.                         <and>  
    273.                             <socket server="${server.address}" port="${server.tomcat.port}" />  
    274.                         </and>  
    275.                 </waitfor>           
    276.         </target>   
    277.           
    278.         <!--增量上传: 把所有自己写的代码打包JAR包 -->  
    279.   
    280.         <target name="uploadJarToServer" depends="init">  
    281.              <scp todir="${server.username}:${server.password}@${server.address}:${server.tomcat.path}${application.name}"   
    282.                    trust="true"  
    283.                    verbose="true"  
    284.                    port="${server.sshport}"   
    285.               >  
    286.                 <fileset dir="${base.dir}/publish/">  
    287.                     <include name="signed" />  
    288.                     <include name="signed/**" />  
    289.                 </fileset>  
    290.               </scp>  
    291.         </target>   
    292.         <!-- 增量上传 -->  
    293.         <target name="增量上传" depends="init,detect, tomcat.stop,uploadJarToServer,tomcat.start"></target>  
    294.   
    295. </project>  



    Java代码  收藏代码
    1. 登陆时候的lauch:  
    2.   
    3.   
    4. import java.util.Map;  
    5.   
    6. import javax.swing.JFrame;  
    7. import javax.swing.WindowConstants;  
    8.   
    9. import cn.dcalf.swing.WindowUtils;  
    10. import cn.dcalf.util.ClientLaunchArgs;  
    11.   
    12. import com.gpdi.infores.client.util.MsgDlgFuns;  
    13. import com.gpdi.infores.global.client.GlobalVars;  
    14. import com.gpdi.infores.global.client.MyUIManager;  
    15. import com.gpdi.infores.rc.start.client.LoginFrame;  
    16. import com.gpdi.infores.rc.start.client.MainFrame;  
    17. import com.gpdi.infores.rc.task.OnlineUserSynTask;  
    18.   
    19.   
    20. public class Launch {   
    21.     /** 
    22.      * 启动程序 
    23.      *  
    24.      * @param args 
    25.      */  
    26.     public static void main(String[] args) {  
    27.         Map<String,String> argMap = ClientLaunchArgs.getArgMap(args);  
    28.         if (argMap==null || argMap.get(ClientLaunchArgs.IP)==null){  
    29.             MsgDlgFuns.showMsg("非法的传入参数。");  
    30.             return;  
    31.         }  
    32.           
    33.         try {  
    34.             GlobalVars.setAddress(argMap.get(ClientLaunchArgs.IP));  
    35.             GlobalVars.setPort(argMap.get(ClientLaunchArgs.PORT));  
    36.             GlobalVars.setVersion(argMap.get(ClientLaunchArgs.VERSION));  
    37.             GlobalVars.setProjectId(argMap.get(ClientLaunchArgs.PROJECT_ID));  
    38.               
    39.             GlobalVars.getInstance();             
    40.             MyUIManager.init();  
    41.             OnlineUserSynTask.setStartWork(false);  
    42.   
    43.             String staffcode = argMap.get(ClientLaunchArgs.USER);  
    44.             String password = argMap.get(ClientLaunchArgs.PASSWORD);  
    45.             String timestatmp=argMap.get(ClientLaunchArgs.TIMESTAMP);  
    46.             if (timestatmp==null)  
    47.                 timestatmp="0";  
    48.             String sysCode = argMap.get(ClientLaunchArgs.SYSTEM_CODE);  
    49.               
    50.             if(staffcode!=null && !staffcode.isEmpty()){  
    51.                 boolean result = false;  
    52.                   
    53.                 if(sysCode!=null && !sysCode.isEmpty()){  
    54.                     result = GlobalVars.getInstance().auhenticate(staffcode, password, sysCode , timestatmp);  
    55.                 }else{  
    56.                    result = GlobalVars.getInstance().auhenticate(staffcode, password,null,timestatmp);  
    57.                 }  
    58.                 if(!result){  
    59.                     GlobalVars.getInstance().showErrorDialog("登录验证失败,用户名/密码错误,或者登录超时(30分钟).");  
    60.                     System.exit(0);  
    61.                     return;  
    62.                 }  
    63.                   
    64.                 java.awt.EventQueue.invokeLater(new Runnable() {  
    65.                         public void run() {  
    66.                             //JFrame main = new MainFrame();  
    67.                             JFrame main = MainFrame.getInstance();  
    68.                             String title = GlobalVars.getInstance().buildTitle();  
    69.                             main.setTitle(title);  
    70.                               
    71.                             main.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);  
    72.                             main.setExtendedState(JFrame.MAXIMIZED_BOTH);  
    73.                             WindowUtils.center(main);                 
    74.                             main.setVisible(true);  
    75.                         }  
    76.                     });       
    77.             }else{  
    78.                 java.awt.EventQueue.invokeLater(new Runnable() {  
    79.                     public void run() {  
    80.                          JFrame frame = new JFrame();  
    81.                          String title = GlobalVars.getInstance().getConfigValueByName("system.title");  
    82.                           frame.setTitle(title);  
    83.                           frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);  
    84.                           LoginFrame panel = new LoginFrame(frame);                        
    85.                           panel.setVisible(true);  
    86.                           try{  
    87.                               panel.requestFocus();  
    88.                           }catch(Exception e){  
    89.                           }  
    90.                     }  
    91.                 });  
    92.             }  
    93.               
    94.         } catch (Exception e) {  
    95.             e.printStackTrace();  
    96.         }  
    97.     }  
    98.   
    99.   
    100. }  



    Java代码  收藏代码
    1. 生成的数字签证:version.xml  
    2.   
    3. <jnlp-versions>  
    4.     <resource>  
    5.         <pattern>  
    6.             <name>rcClient.jar</name>  
    7.             <version-id>1.0</version-id>  
    8.         </pattern>  
    9.         <file>rcClient.jar</file>  
    10.     </resource>  
    11.     <resource>  
    12.         <pattern>  
    13.             <name>rc_res.jar</name>  
    14.             <version-id>1.1</version-id>  
    15.         </pattern>  
    16.         <file>rc_res.jar</file>  
    17.     </resource>  
    18.     <resource>  
    19.         <pattern>  
    20.             <name>ant.jar</name>  
    21.             <version-id>1.0</version-id>  
    22.         </pattern>  
    23.         <file>ant.jar</file>      
    24.     </resource>  
    25.     <resource>  
    26.         <pattern>  
    27.             <name>antlr-2.7.6.jar</name>  
    28.             <version-id>1.0</version-id>  
    29.         </pattern>  
    30.         <file>antlr-2.7.6.jar</file>  
    31.     </resource>  
    32.     <resource>  
    33.         <pattern>  
    34.             <name>asm-2.2.3.jar</name>  
    35.             <version-id>1.0</version-id>  
    36.         </pattern>  
    37.         <file>asm-2.2.3.jar</file>  
    38.     </resource>  
    39.     <resource>  
    40.         <pattern>  
    41.             <name>aspectjrt.jar</name>  
    42.             <version-id>1.0</version-id>  
    43.         </pattern>  
    44.         <file>aspectjrt.jar</file>  
    45.     </resource>  
    46.     <resource>  
    47.         <pattern>  
    48.             <name>aspectjweaver.jar</name>  
    49.             <version-id>1.0</version-id>  
    50.         </pattern>  
    51.         <file>aspectjweaver.jar</file>  
    52.     </resource>  
    53.     <resource>  
    54.         <pattern>  
    55.             <name>cglib-nodep-2.1_3.jar</name>  
    56.             <version-id>1.0</version-id>  
    57.         </pattern>  
    58.         <file>cglib-nodep-2.1_3.jar</file>  
    59.     </resource>  
    60.     <resource>  
    61.         <pattern>  
    62.             <name>com.springsource.com.caucho-3.1.6.jar</name>  
    63.             <version-id>1.0</version-id>  
    64.         </pattern>  
    65.         <file>com.springsource.com.caucho-3.1.6.jar</file>  
    66.     </resource>  
    67.     <resource>  
    68.         <pattern>  
    69.             <name>commons-beanutils.jar</name>  
    70.             <version-id>1.0</version-id>  
    71.         </pattern>  
    72.         <file>commons-beanutils.jar</file>  
    73.     </resource>  
    74.     <resource>  
    75.         <pattern>  
    76.             <name>commons-io-1.3.2.jar</name>  
    77.             <version-id>1.0</version-id>  
    78.         </pattern>  
    79.         <file>commons-io-1.3.2.jar</file>  
    80.     </resource>  
    81.     <resource>  
    82.         <pattern>  
    83.             <name>commons-lang.jar</name>  
    84.             <version-id>1.0</version-id>  
    85.         </pattern>  
    86.         <file>commons-lang.jar</file>  
    87.     </resource>  
    88.     <resource>  
    89.         <pattern>  
    90.             <name>commons-logging-1.1.1.jar</name>  
    91.             <version-id>1.0</version-id>  
    92.         </pattern>  
    93.         <file>commons-logging-1.1.1.jar</file>  
    94.     </resource>  
    95.     <resource>  
    96.         <pattern>  
    97.             <name>dozer-5.0.jar</name>  
    98.             <version-id>1.0</version-id>  
    99.         </pattern>  
    100.         <file>dozer-5.0.jar</file>  
    101.     </resource>  
    102.     <resource>  
    103.         <pattern>  
    104.             <name>flexjson.jar</name>  
    105.             <version-id>1.0</version-id>  
    106.         </pattern>  
    107.         <file>flexjson.jar</file>  
    108.     </resource>  
    109.     <resource>  
    110.         <pattern>  
    111.             <name>forms-1.2.1.jar</name>  
    112.             <version-id>1.0</version-id>  
    113.         </pattern>  
    114.         <file>forms-1.2.1.jar</file>  
    115.     </resource>  
    116.     <resource>  
    117.         <pattern>  
    118.             <name>jakarta-oro-2.0.8.jar</name>  
    119.             <version-id>1.0</version-id>  
    120.         </pattern>  
    121.         <file>jakarta-oro-2.0.8.jar</file>  
    122.     </resource>  
    123.     <resource>  
    124.         <pattern>  
    125.             <name>jakarta-regexp-1.5.jar</name>  
    126.             <version-id>1.0</version-id>  
    127.         </pattern>  
    128.         <file>jakarta-regexp-1.5.jar</file>  
    129.     </resource>  
    130.     <resource>  
    131.         <pattern>  
    132.             <name>jcalendar.jar</name>  
    133.             <version-id>1.0</version-id>  
    134.         </pattern>  
    135.         <file>jcalendar.jar</file>  
    136.     </resource>  
    137.     <resource>  
    138.         <pattern>  
    139.             <name>jdom.jar</name>  
    140.             <version-id>1.0</version-id>  
    141.         </pattern>  
    142.         <file>jdom.jar</file>  
    143.     </resource>  
    144.     <resource>  
    145.         <pattern>  
    146.             <name>jide-oss-2.5.3.jar</name>  
    147.             <version-id>1.0</version-id>  
    148.         </pattern>  
    149.         <file>jide-oss-2.5.3.jar</file>  
    150.     </resource>  
    151.     <resource>  
    152.         <pattern>  
    153.             <name>JImage.jar</name>  
    154.             <version-id>1.0</version-id>  
    155.         </pattern>  
    156.         <file>JImage.jar</file>  
    157.     </resource>  
    158.     <resource>  
    159.         <pattern>  
    160.             <name>jwf-1.0.1.jar</name>  
    161.             <version-id>1.0</version-id>  
    162.         </pattern>  
    163.         <file>jwf-1.0.1.jar</file>  
    164.     </resource>  
    165.     <resource>  
    166.         <pattern>  
    167.             <name>jxl.jar</name>  
    168.             <version-id>1.0</version-id>  
    169.         </pattern>  
    170.         <file>jxl.jar</file>  
    171.     </resource>  
    172.     <resource>  
    173.         <pattern>  
    174.             <name>jxls-core-0.9.8.jar</name>  
    175.             <version-id>1.0</version-id>  
    176.         </pattern>  
    177.         <file>jxls-core-0.9.8.jar</file>  
    178.     </resource>  
    179.     <resource>  
    180.         <pattern>  
    181.             <name>jxls-reader-0.9.8.jar</name>  
    182.             <version-id>1.0</version-id>  
    183.         </pattern>  
    184.         <file>jxls-reader-0.9.8.jar</file>  
    185.     </resource>  
    186.     <resource>  
    187.         <pattern>  
    188.             <name>log4j-1.2.15.jar</name>  
    189.             <version-id>1.0</version-id>  
    190.         </pattern>  
    191.         <file>log4j-1.2.15.jar</file>  
    192.     </resource>  
    193.     <resource>  
    194.         <pattern>  
    195.             <name>looks.jar</name>  
    196.             <version-id>1.0</version-id>  
    197.         </pattern>  
    198.         <file>looks.jar</file>  
    199.     </resource>  
    200.     <resource>  
    201.         <pattern>  
    202.             <name>neethi-2.0.4.jar</name>  
    203.             <version-id>1.0</version-id>  
    204.         </pattern>  
    205.         <file>neethi-2.0.4.jar</file>  
    206.     </resource>  
    207.     <resource>  
    208.         <pattern>  
    209.             <name>OpenSwing.jar</name>  
    210.             <version-id>1.1</version-id>  
    211.         </pattern>  
    212.         <file>OpenSwing.jar</file>  
    213.     </resource>  
    214.     <resource>  
    215.         <pattern>  
    216.             <name>OpenSwingBeanInfo.jar</name>  
    217.             <version-id>1.0</version-id>  
    218.         </pattern>  
    219.         <file>OpenSwingBeanInfo.jar</file>  
    220.     </resource>  
    221.     <resource>  
    222.         <pattern>  
    223.             <name>poi-3.2-FINAL-20081019.jar</name>  
    224.             <version-id>1.0</version-id>  
    225.         </pattern>  
    226.         <file>poi-3.2-FINAL-20081019.jar</file>  
    227.     </resource>  
    228.     <resource>  
    229.         <pattern>  
    230.             <name>poi-contrib-3.2-FINAL-20081019.jar</name>  
    231.             <version-id>1.0</version-id>  
    232.         </pattern>  
    233.         <file>poi-contrib-3.2-FINAL-20081019.jar</file>  
    234.     </resource>  
    235.     <resource>  
    236.         <pattern>  
    237.             <name>poi-scratchpad-3.2-FINAL-20081019.jar</name>  
    238.             <version-id>1.0</version-id>  
    239.         </pattern>  
    240.         <file>poi-scratchpad-3.2-FINAL-20081019.jar</file>  
    241.     </resource>  
    242.     <resource>  
    243.         <pattern>  
    244.             <name>simple-json.jar</name>  
    245.             <version-id>1.0</version-id>  
    246.         </pattern>  
    247.         <file>simple-json.jar</file>  
    248.     </resource>  
    249.     <resource>  
    250.         <pattern>  
    251.             <name>slf4j-api-1.5.0.jar</name>  
    252.             <version-id>1.0</version-id>  
    253.         </pattern>  
    254.         <file>slf4j-api-1.5.0.jar</file>  
    255.     </resource>  
    256.     <resource>  
    257.         <pattern>  
    258.             <name>slf4j-log4j12-1.5.0.jar</name>  
    259.             <version-id>1.0</version-id>  
    260.         </pattern>  
    261.         <file>slf4j-log4j12-1.5.0.jar</file>  
    262.     </resource>  
    263.     <resource>  
    264.         <pattern>  
    265.             <name>spring.jar</name>  
    266.             <version-id>1.0</version-id>  
    267.         </pattern>  
    268.         <file>spring.jar</file>  
    269.     </resource>  
    270.     <resource>  
    271.         <pattern>  
    272.             <name>swing-layout.jar</name>  
    273.             <version-id>1.0</version-id>  
    274.         </pattern>  
    275.         <file>swing-layout.jar</file>  
    276.     </resource>  
    277.     <resource>  
    278.         <pattern>  
    279.             <name>twaver.jar</name>  
    280.             <version-id>1.0</version-id>  
    281.         </pattern>  
    282.         <file>twaver.jar</file>  
    283.     </resource>  
    284.     <resource>  
    285.         <pattern>  
    286.             <name>substance.jar</name>  
    287.             <version-id>1.0</version-id>  
    288.         </pattern>  
    289.         <file>substance.jar</file>  
    290.     </resource>  
    291.     <resource>  
    292.         <pattern>  
    293.             <name>DJNativeSwing.jar</name>  
    294.             <version-id>1.0</version-id>  
    295.         </pattern>  
    296.         <file>DJNativeSwing.jar</file>  
    297.     </resource>  
    298.     <resource>  
    299.         <pattern>  
    300.             <name>DJNativeSwing-SWT.jar</name>  
    301.             <version-id>1.0</version-id>  
    302.         </pattern>  
    303.         <file>DJNativeSwing-SWT.jar</file>  
    304.     </resource>  
    305.     <resource>  
    306.         <pattern>  
    307.             <name>jna_WindowUtils.jar</name>  
    308.             <version-id>1.0</version-id>  
    309.         </pattern>  
    310.         <file>jna_WindowUtils.jar</file>  
    311.     </resource>  
    312.     <resource>  
    313.         <pattern>  
    314.             <name>jna-3.2.4.jar</name>  
    315.             <version-id>1.0</version-id>  
    316.         </pattern>  
    317.         <file>jna-3.2.4.jar</file>  
    318.     </resource>  
    319.     <resource>  
    320.         <pattern>  
    321.             <name>MozillaInterfaces-1.8.1.3.jar</name>  
    322.             <version-id>1.0</version-id>  
    323.         </pattern>  
    324.         <file>MozillaInterfaces-1.8.1.3.jar</file>  
    325.     </resource>  
    326.     <resource>  
    327.         <pattern>  
    328.             <name>swt-3.6M6-win32-win32-x86.jar</name>  
    329.             <version-id>1.0</version-id>  
    330.         </pattern>  
    331.         <file>swt-3.6M6-win32-win32-x86.jar</file>  
    332.     </resource>  
    333.     <resource>  
    334.         <pattern>  
    335.             <name>dom4j-1.6.1.jar</name>  
    336.             <version-id>1.0</version-id>  
    337.         </pattern>  
    338.         <file>dom4j-1.6.1.jar</file>  
    339.     </resource>     
    340.     <resource>  
    341.         <pattern>  
    342.             <name>pipeline.jar</name>  
    343.             <version-id>1.0</version-id>  
    344.         </pattern>  
    345.         <file>pipeline.jar</file>  
    346.     </resource>     
    347.     <resource>  
    348.         <pattern>  
    349.             <name>jRegistryKey.jar</name>  
    350.             <version-id>1.0</version-id>  
    351.         </pattern>  
    352.         <file>jRegistryKey.jar</file>  
    353.     </resource>     
    354.     <resource>  
    355.         <pattern>  
    356.             <name>jRegistryKey.dll.jar</name>  
    357.             <version-id>1.0</version-id>  
    358.         </pattern>  
    359.         <file>jRegistryKey.dll.jar</file>  
    360.     </resource>     
    361.     <resource>  
    362.         <pattern>  
    363.             <name>commons-collections-3.1.jar</name>  
    364.             <version-id>1.0</version-id>  
    365.         </pattern>  
    366.         <file>commons-collections-3.1.jar</file>  
    367.     </resource>  
    368. </jnlp-versions>  




    以上为一个C/S架构系统的每次发布的流程 
    1使用ant文件编译,生成jar 
    2 生成签证 
    3在登陆客户端保证好与签证中的jary版本一样 
    4 给打好的架放入到服务器启动成功即可,登陆客户端 在下载客户端程序认证成功。 

  • 相关阅读:
    SQL查询语句 group by后, 字符串合并
    正则表达式对象模型
    C#正则表达式编程(四):正则表达式
    C#正则表达式编程(三):Match类和Group类用法
    C#正则表达式编程(二):Regex类用法
    C#正则表达式编程(一):C#中有关正则的类
    正则表达式中-分组构造
    正则表达式-定位点
    正则表达式-字符类减法
    正则表达式-匹配标点符号
  • 原文地址:https://www.cnblogs.com/wangjuneng/p/4634740.html
Copyright © 2011-2022 走看看