是的,可以。这个页面显示了如何做到这一点(好吧,大部分;你还需要这个页面)。有两个主要步骤:
-
将 和 属性放在清单文件中:Permissions
Codebase
Permissions: sandbox
Codebase: *.myserver.com
这些新属性是在 Java 7 Update 25 中引入的,将在此处进行讨论。上面链接的第一页只是显示,但大多数网站都希望上面的通配符。(我不知道沙盒小程序是否需要该属性,但对于大多数签名小程序来说,这似乎是一个好主意。Codebase: myserver.com
Codebase
然后在构建 jar 时使用该清单文件,例如:
jar cvfm YourJarFile.jar your_manifest_file.txt classes_and_such
这些属性最终将出现在清单中。jar 中的 MF 文件,它告诉 Java 运行时保持小程序沙盒。
-
在标记中,您必须指定参数,如下所述:<applet>
permissions
<applet code='yourAppletClass' archive='YourJarFile.jar'>
<param name="permissions" value="sandbox">
</applet>
如果没有第二步,则会阻止在 jar 中请求沙盒权限但未请求标记的已签名小程序运行,并显示一个标题为“应用程序无法运行”的对话框,并给出“原因:请求仅在沙盒中运行的 JAR 清单”。
如果您执行上述两个步骤,则用户会收到一条更令人放心的消息(并且可能小程序保持沙盒状态):
此应用程序将以有限的访问权限运行,旨在保护您的计算机和个人信息。
...如果他们选中了信任发布者和位置的相关复选框,则当他们下次打开浏览器并运行您的小程序时,他们不会再次看到它。
(在提出这个问题的过程中,我找到了答案,但由于答案不在Stack Overflow上,我想我会继续发布问题和答案。