java web start实现关键问题(二) (转)[@more@]
**
下载资源错误
在使用
Java
web Start的时候可能会出现"下载资源错误",大致的出错信息如下:
*******************************************************
JNLPException[category:
DOWNLOAD Error : Exception:
java.io.IOException:
rename failed in cache : LaunchDesc: null ] at.....
java.io.IOException:
rename failed in cache : LaunchDesc: null ] at.....
*******************************************************
这个错误的原因是因为每次
调用Java Web Start都会到server上查找
程序是否
更新,然后将程序下载到本地的java web start目录下的cache目录中,如果cache中
已经有同名
文件,而且该文件正在被使用,那么新下载的文件就会出现 rename failed错误,而且手工去删除本地的文件还会报错:文件正被使用!,这里涉及到Java
Web Start中的sign机制,可能对每个jar文件都需要标记,有的时候会在任务管理器中看到javaw.exe在运行,将该程序终止后就可以将本地的jar文件删除掉,说明这
些本地文件可能还保留着文件锁定吧!有时即使将Task Manager中将所有的java程序都kill掉还是会出错,必须要注销
windows才可以,不知道是不是Java Web Start
自身的问题.
** argument
如果需要给*.jar文件传递参数,可以用如下代码:
-port
1008 ' 要注意-port 和1008是两个参数,要分开写.
** jws console
有的时候还需要看到*.jar中System.out.print语句输出的信息,就要打开jws的console,可以在jws manager 中的首选项中设置.
** security
java web start中对本地文件操作、访问
远程
数据库等操作都进行了
安全限制,如果要实现这些操作,一般要在jnlp中增加代码:
Rmissions/>
Rmissions/>
以上代码表示允许所有的操作,但要实现这一点,还需要对*.jar文件进行sign操作,也就是安全签名,可采用
jdk中自带的keytool和jarsigner工具来进行签名,步骤如下:
** keytool
例如:keytool -genkey -alias MySelf -keypass 888888
' -alias 表示产生一个化名,要记住这个化名,后面要用到
' -keypass 输入一个密码就可以了
一般会产生keystore文件,keytool还有一些其他选项,可以在console中查看帮助.
** jarsigner
例如:jarsigner -alias MySelf ***.jar
jarsigner表示对jar程序进行签证.只有经过签证的程序才可以设置all-permissions属性。
** 根
认证
jws manager中的首选项中还可以选择根认证.
** Certificate
jarsigner中默认采用了RSA和DSA的
加密算法,有些公司也希望能自己购买Certificate文件,不过两种方式都应该可以运行,一般第一次运行java web start程序
时会弹出对话框要
用户确认是否承认该认证。
** 最后说明
因为对JWS也是一个新手,所以很多问题也只是表面的认识,如果有表达不当或理解肤浅的地方,请多包涵.
<%}%>
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10752019/viewspace-982242/,如需转载,请注明出处,否则将追究法律责任。
![user_pic_default.png](http://blog.itpub.net/images/user_pic_default.png)
请登录后发表评论
登录
全部评论
<%=items[i].createtime%>
<%=items[i].content%>
<%if(items[i].items.items.length) { %>
<%for(var j=0;j
<%}%> <%if(items[i].items.total > 5) { %>
<%}%>
<%=items[i].items.items[j].createtime%>
<%=items[i].items.items[j].username%> 回复 <%=items[i].items.items[j].tousername%>: <%=items[i].items.items[j].content%>
还有<%=items[i].items.total-5%>条评论
) data-count=1 data-flag=true>点击查看
<%}%>
转载于:http://blog.itpub.net/10752019/viewspace-982242/