http://www.jfimagine.com/index.html
首先先制作一个小Swing程序做demo的JAR. 我将它起名为 myjnlp.jar, 它的主执行类名为: jnlp.SimepleUI,它使用了一个类包tcl.jar
然后在制作一个自己的 myfirst.jnlp,内容如下:
[code]
<?xml version=”1.0″ encoding=”utf-8″?>
<jnlp spec=”1.0+”
codebase=”http://bbs.x/java/”
href=”myfirst.jnlp”>
<information>
<title>My Test </title>
<vendor>test, LLC</vendor>
<homepage href=”http://www.9mmo.com”/>
<icon href=”logo.jpg”/>
<description>test desc</description>
<description kind=”short”>short desc</description>
<offline-allowed/>
</information>
<security>
<all-permissions/>
</security>
<resources>
<j2se version=”1.5+”/>
<jar href=”myjnlp.jar” main=”true”/>
<jar href=”tcl.jar”/>
</resources>
<property key=”java.library.path” value=”.” />
<application-desc main-class=”jnlp.SimepleUI”/>
<component-desc/>
</jnlp>
[/code]
然后把相应的 myjnlp.jar,tcl.jar, myfirst.jnlp都放在一个WEB的目录下面,使 http://bbs.x/java/下可以访问他们。然后直接调用 http://bbs.x/java/myfirst.jnlp , 这里注意,如果WEBSERVER不支持JNLP的就需要在MINE里面设置它们,网上面这方面的资源还是很多的。
可在运行的时候就碰到了这么一个问题,由于我用了 <security><all-permissions/> </security>,它很快会提示你需要签名的JAR,特别注意的是无论是主JAR还是用作库的JAR都需要签名,签名还有有效期。而如何签名,中文资源的确没有,但在JAVA的基础指南里能找到,我也举一个例子,有兴趣的再可看其他的选项作衍生。
首先你需要有JavaSDK安装,最好是6.0以上的,如果系统没有注册环境,可以直接到 jdk目录下的bin下面执行
[执行的命令我在JDK1.6.03下执行,绝对无误]
keytool -genkeypair -dname “cn=Bob Temple, ou=TSoft, o=MicroTemple, c=CN” -alias temple -keypass yourkeypass -keystore e:\mykeystore.key -storepass yourstorepass -validity 180
e:\mykeystore.key 是关键的一个加密文件,一会儿要用
yourkeypass 是你的keypass,一会儿要用
yourstorepass 是你的storepass,一会儿要用
temple 是你的别名,一会儿要用
然后执行
jarsigner -keystore e:\mykeystore.key -storepass yourstorepass -keypass yourkeypass e:\jws\myjnlp.jar temple
jarsigner -keystore e:\mykeystore.key -storepass yourstorepass -keypass yourkeypass e:\jws\tcl.jar temple
它会返回显示:
警告:
签名者证书将在六个月内过期。
这样你就成功签名了。
然后再把签名过的JAR文件放回那个WEB目录下面,再调用http://bbs.x/java/myfirst.jnlp 就成功运行了,当然了,这需要确认一下权限,这足以证明JAVA程序的相对安全性。
| M | T | W | T | F | S | S |
|---|---|---|---|---|---|---|
| « Jul | Sep » | |||||
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |