2014-03-03 79 views
3

幾年前,我在NetBeans中編寫了一個Java Web Start應用程序,用於執行簡單的文件上傳任務。多年來,我把它作爲一個自簽名的小程序,但最終放棄併購買了簽名證書。我已經全部簽署了,但我遇到了一個新問題。我需要做些什麼才能讓LiveConnect再次運作?

其中一個主要類的公共方法被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編譯的方式更改設置?

+0

我們可以在哪裏訪問這個applet?用於啓動它的HTML是什麼? [MCTaRE](http://stackoverflow.com/help/mcve)(最小完整測試和可讀示例)在哪裏再現問題?鑑於我們已經用完魔法,您認爲我們可以在沒有這些細節的情況下排除這個問題嗎? –

回答

7

我想通了;我發現一些論壇帖子提到我必須更新我的Manifest文件。顯然,Oracle最近改變了Liveconnect的工作方式,因此您必須明確允許可以調用小程序的子域。

關於這方面的信息是here,基本上你必須將Caller-Allowable-Codebase指令添加到Manifest文件中。幸運的是,它可以設置爲通配符,這就是我最終做的。顯然,你也應該在清單文件中設置Application-Name以及它,並且你不應該包含Trusted-Library true。我真的不知道爲什麼或者做了什麼,但是我能夠調整我的清單文件,並且所有東西似乎都可以再次運行!

相關問題