几年前,我用NetBeans编写了一个Java Web Start应用程序,它执行一个简单的文件上传任务。多年来,我一直把它作为一个自签名的applet,但最终还是放弃了,买了一个签名证书。我现在都签好了,但我遇到了一个新问题。
主类的一个公共方法由JavaScript调用。然而,它似乎已经停止工作。当我尝试在Firebug中手动调用此方法时,得到的消息如下:
Error: Liveconnect call for Applet ID 8 is not allowed in this JVM instance.更新:以下是我在Chrome中尝试时得到的错误版本:
Error calling method on NPObject.我已经使用了最新版本的Java插件(7u51),那么这是怎么回事?这个applet曾经可以工作,但现在显然不能工作了。我需要在代码中添加一些特殊的东西吗?或者改变NetBeans编译设置的方式?
发布于 2014-03-04 23:02:00
我想通了;我找到了一些论坛帖子,其中提到我必须更新我的Manifest文件。显然,Oracle最近改变了Liveconnect的工作方式,因此您必须明确允许可以调用小程序的子域。
其中的信息是here,基本上您必须将Caller-Allowable-Codebase指令添加到清单文件中。幸运的是,它可以设置为通配符,这就是我最终要做的。显然,您还应该在清单文件中设置Application-Name以及它,并且您特别不应该包含Trusted-Library true。我真的不知道这是为什么或者是什么,但我能够调整我的清单文件,一切似乎又可以工作了!
https://stackoverflow.com/questions/22156945
复制相似问题