Java Web Start 学习

看了 Swing 的 Java Web Start 学习 正好自己也写了一个Java Application, 于是决定把自己的application 放在server 上, 用Java Web Start 技术,这样就方便别人使用.

1.keystore的有效时间
keytool-genkey-keystoremyKeystore-aliasjwstest-validity365
用 -validity valDays 来设定, 缺省的是 6个月

2.Sign Jar文件
jarsigner-keystoremyKeystore-storepassxxxxyourtest.jarjwstest
直接用 storepass 传password 给jarsigner, 不需要每次单独输入, 很适合做批处理,对多个Jar一起sign. 因为用JWS,所以引用的Jar都需要Sign.

3. 引用的已经被别人Sign 过的Jar
如果不特殊处理,可能会遇到 Exception
JARresourcesinJNLPfilearenotsignedbysamecertificate
验证JAR 是不是已经被sign 可以用-verfiy这个命令
jarsigner-certs-verbose-verifyyourtest.jar

通常解决的办法是把这个Sign过的JAR 写成单独的JNLP, 然后在自己的主JNLP中引用它
<?xmlversion="1.0"encoding="UTF-8"?>
<jnlpspec="1.0+"codebase="http://localhost:8080/webstart/"href="signedjar.jnlp">
<information>
<title>SignedJar</title>
<vendor>ABCCompany</vendor>
<offline-allowed/>
</information>
<offline-allowed/>
<resources>
<jarhref="signed.jar"/>
</resources>
<component-desc/>
</jnlp>

<resources>
<j2seversion="1.5+"/>
<jarhref="jaxbw.jar"/>
<jarhref="substance.jar"/>
<jarhref="jaxb-api.jar"/>
<jarhref="jaxb-impl.jar"/>
<jarhref="jaxb-xjc.jar"/>
<jarhref="jsr173_api.jar"/>
<extensionname="signedjar"href="signedjar.jnlp"/>
</resources>

你可能感兴趣的:(java,Web,swing)