我制作了一个简单的Applet,只需点击按钮就可以调用一个ant target thorugh批处理文件。为此我正在使用
ExecTask exec = new ExecTask();
exec.setExecutable("run.bat");
Commandline.Argument arg = exec.createArg();
arg.setValue("-buildfile D:/cloudengine/Applet/build.xml");
exec.execute();
当我从eclipse运行它时,它可以正常工作。但我的要求是从html页面运行这个,所以我创建了一个带有applet标签的简单html
<APPLET ALIGN="CENTER" CODE="HtmlAntTest.class" WIDTH="800" HEIGHT="500"></APPLET>
但是在浏览器的java控制台中,我点击按钮
时会遇到异常Exception in thread "AWT-EventQueue-2" java.lang.ExceptionInInitializerError
at org.apache.tools.ant.taskdefs.ExecTask.<init>(ExecTask.java:72)
.
.
.
Caused by: java.security.AccessControlException: access denied (java.util.PropertyPermission file.encoding read)
任何指针都会有很大的帮助。提前致谢
答案 0 :(得分:0)
您需要为applet授予其他权限。这里都详细解释了: http://java.sun.com/developer/onlineTraining/Programming/JDCBook/appA.html
答案 1 :(得分:0)
正如das_weezul评论的那样,applet需要提升权限才能执行此操作。虽然更改策略文件是实现这一目标的一种方法,但它很容易出错且部署不切实际。
要在部署时获得受信任的applet,必须:
在构建文件中设置代码签名需要一些时间,但一旦正确完成,就可以忘记了。