JNLP协议开发Java程序

写这篇文章前,参考了网上的一些资料没记地地址,如果你认为有抄袭了,请联系我

首先写一个swing的窗口类,然后导出为Hello.jar。
public class Hello {
    public static void main(String[] args) {
       HelloFrame frame = new HelloFrame();
       frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
       frame.show();
    }
}
 
class HelloFrame extends JFrame {
    public HelloFrame() {
       setTitle("Hello Swing");
       setSize(width, height);
    }
    public static final int width = 300;
    public static final int height = 200;
}


在源程序的src目录下运行,使用java自带的签名工具产生签名文件,按照提示一步步完成产生key

keytool -genkey -keystore notepadKeyFile -alias notepadKey

其中,notepadKeyFile是生成的文件名称, notepadKey是别名。可以查阅到相应的证书信息。


用ant来为Hello.jar签名
<?xml version="1.0" encoding="UTF-8"?>
<project name="swing" basedir="." default="">
   
    <property name="src.dir" value="${basedir}/src" />
    <property name="dist.lib" value="${basedir}/dist" />
   
    <!-- Directory structure of the project -->
    <target name="all" depends="" description="generate Key to sign jars">
       <signjar alias="notepadKey" storepass="hellojava" keypass="hellojava" keystore="${src.dir}/notepadKeyFile" verbose="true">
           <fileset dir="${dist.lib}">
              <include name="*.jar" />
           </fileset>
       </signjar>
    </target>
</project>

建立swing.jnlp文件
<?xml version="1.0" encoding="utf-8" ?>
<jnlp spec="1.0+" codebase="http://localhost/easy/" href="Hello.jnlp">
    <information>
       <title>NotePad V0.1</title>
       <vendor>wendy</vendor>
       <description>NotePad V0.1</description>
       <description kind="tooltip">
           www.ZigzagSoft.net (FreeWare)
       </description>
       <offline-allowed />
    </information>
    <security><!--权限设置-->
       <all-permissions />
    </security>
    <resources>
       <j2se version="1.6+" />
       <jar href="Hello.jar" />
    </resources>
 
    <application-desc main-class="net.swi.Hello"><!--主类-->
    </application-desc>
</jnlp>


将Hello.jnlp和Hello.jar复制到http://localhost/easy/ (这里我是用tomcat跑了一个easy的web项目)目录下,然后就是可以远程用Hello.jnlp来打开服务器的.jar文件。

你可能感兴趣的:(java,tomcat,xml,swing,ant)