我有一个基于应用程序的 JApplet。我需要它读取包含所有数据的基于文本的文件。所以我把它放在了 Jar 文件中,AppletViewer 中的一切都变得很愉快。
不幸的是,在浏览器领域并非一切都令人满意。
当我尝试从不在 jar 中的 html 页面在浏览器中运行小程序时,我得到了旧的:java.security.AccessControlException: access denied (java.io.FilePermission
(然后它会列出 jar 在我的文件系统上的位置和 !resource 地址)
但是,如果我在像 winzip 这样的 zip 提取器/查看器中打开 jar 文件并打开启动小程序的页面(我放在 jar 中)它工作正常。正如预期的那样,它只能访问具有相同主机的资源,在这种情况下似乎直接归结为 jar 文件本身。
所以我的问题是WTF?我可以从浏览器打开 jar 文件中的 html 文件吗...即使在 iframe 中或任何东西都可以,只要它不会进一步弄乱权限。
或者我可以从 jar 之外的 html 页面调用小程序吗?我现在没有使用 JNLP,因为我想尽快拼凑出一个原型小程序。
<applet code = 'CatalogApplet'
archive = 'ContactCatalog.jar',
width = 1000,
height = 800 />
是对小程序的整个 HTML 调用。
我不打算签它,因为它真的不需要签。我只是想打回罐子。