【问题标题】:What do I need to do to get LiveConnect working again?我需要做什么才能让 LiveConnect 重新工作?
【发布时间】:2014-03-03 20:40:36
【问题描述】:

几年前,我在 NetBeans 中编写了一个 Java Web Start 应用程序,它执行一个简单的文件上传任务。多年来,我一直将它作为一个自签名的小程序,但最终屈服并购买了一个签名证书。我现在已经全部签名了,但我遇到了一个新问题。

其中一个主类的公共方法被 JavaScript 调用。但是,它似乎已经停止工作。当我尝试在 Firebug 中手动调用此方法时,我收到以下消息:

Error: Liveconnect call for Applet ID 8 is not allowed in this JVM instance.

更新:这是我在 Chrome 中尝试此操作时遇到的错误版本:

Error calling method on NPObject.

我已经在使用最新版本的 Java 插件 (7u51),那有什么好处呢?这个小程序过去可以工作,但现在显然不再工作了。我需要在代码中添加一些特殊的东西吗?或者更改 NetBeans 编译方式的设置?

【问题讨论】:

  • 我们在哪里可以访问小程序?用于启动它的 HTML 是什么?重现问题的MCTaRE(最小完整测试和可读示例)在哪里?鉴于我们的魔法已经用完了,您认为如果没有这些细节,我们如何解决这个问题?

标签: java netbeans applet liveconnect


【解决方案1】:

我想通了;我发现一些论坛帖子提到我必须更新我的清单文件。显然,Oracle 最近改变了 Liveconnect 的工作方式,因此您必须明确允许可以调用小程序的子域。

这方面的信息是here,基本上你必须将Caller-Allowable-Codebase 指令添加到Manifest 文件中。幸运的是,它可以设置为通配符,这就是我最终要做的。显然,您还应该在清单文件中设置Application-Name 以及它,并且您特别不应该包含Trusted-Library true。我真的不知道这是为什么或什么,但我能够调整我的清单文件,一切似乎又可以正常工作了!

【讨论】:

    猜你喜欢
    • 2012-07-13
    • 2017-12-22
    • 2019-11-15
    • 2015-03-30
    • 1970-01-01
    • 2011-06-07
    • 2017-08-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多