200分请教一个关于Applet读资源文件时出现安全异常的问题

bromon 2005-12-28 06:25:38
applet和一个资源文件(test.dp)一起打包成jar文件

程序中通过以下方式加载该文件:

URL url=getClass().getResource("test.dp");
File f=new File(url);

上述程序在appletviewer中,运行正常

但是在ie 6中,出现异常:(程序编译使用jdk 1.4.2,ie使用jre 1.5)

Java Plug-in 1.5.0_01
使用 JRE 版本 1.5.0_01 Java HotSpot(TM) Client VM

java.lang.ExceptionInInitializerError
at javax.media.j3d.VirtualUniverse.<clinit>(Unknown Source)
at org.bromon.j3d.hat.RotateHat.<init>(RotateHat.java:30)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at sun.applet.AppletPanel.createApplet(Unknown Source)
at sun.plugin.AppletViewer.createApplet(Unknown Source)
at sun.applet.AppletPanel.runLoader(Unknown Source)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.security.AccessControlException: access denied (java.lang.RuntimePermission modifyThreadGroup)
at java.security.AccessControlContext.checkPermission(Unknown Source)
at java.security.AccessController.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPermission(Unknown Source)
at sun.applet.AppletSecurity.checkAccess(Unknown Source)
at java.lang.ThreadGroup.checkAccess(Unknown Source)
at java.lang.ThreadGroup.getParent(Unknown Source)
at javax.media.j3d.MasterControl$16.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at javax.media.j3d.MasterControl.<clinit>(Unknown Source)
... 13 more

请大家帮忙
...全文
149 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
bromon 2006-01-04
  • 打赏
  • 举报
回复
没办法,最后还是做了个签名来解决,谢谢大家.结帖了
yyjzsl 2006-01-04
  • 打赏
  • 举报
回复
楼上的办法,可行。
yajixi 2006-01-01
  • 打赏
  • 举报
回复
需要创建策略文件
在x:\Java\jdk1.5.0_04\bin\里有一个policytool.exe
运行之后选择添加规则项目
然后选择添加权限
在许可中选择ALLPermission
确定然后另存为.java.policy
存在C:\Documents and Settings下你的用户目录下就OK了
zjg_robin 2005-12-30
  • 打赏
  • 举报
回复
需要给Applet放大权限,让它可以访问本地资源
bromon 2005-12-29
  • 打赏
  • 举报
回复
上面贴出来的就是控制台打出来的异常
天下有贼 2005-12-29
  • 打赏
  • 举报
回复
applet为了安全是不允许读取文件的
j2me_home 2005-12-29
  • 打赏
  • 举报
回复
看一下JAVA控制台输出什么吧,感觉应该还是版本问题
bromon 2005-12-28
  • 打赏
  • 举报
回复
刚才把ie的jre换成了1.4.2(和编译环境完全一致).仍然出现上述错误

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧