Java 如果html位于共享驱动器上,则会阻止对localhost的小程序引用

Java 如果html位于共享驱动器上,则会阻止对localhost的小程序引用,java,applet,Java,Applet,我有一个html文件和小程序代码,如 <applet code="myapplet.class" archive="http://localhost:8080/myapplets.jar"width="350" height="350"></applet> 我添加了两个 http://localhost:8080 and file:\\X.X.X.X\testhtml 添加到例外列表。已将java控制面板(JRE 1.7 upate 67)中的安全性降至最低(

我有一个html文件和小程序代码,如

<applet code="myapplet.class" archive="http://localhost:8080/myapplets.jar"width="350" height="350"></applet>
我添加了两个

http://localhost:8080  and  file:\\X.X.X.X\testhtml  

添加到例外列表。已将java控制面板(JRE 1.7 upate 67)中的安全性降至最低(即中等),但此小程序一直被阻止。是否有任何设置可以帮助您从共享位置访问小程序?谢谢

小程序的
archive
参数只能引用小程序启动时来自同一来源的归档文件(例如jar文件)。以下是引自:

出于安全原因,小程序的类加载器只能从启动小程序的相同代码库中读取。这意味着archiveList中的存档必须与代码库位于同一目录中,或者位于代码库的子目录中

如果从共享驱动器加载HTML页面,HTML文件中的
applet
标记的
archive
属性不应指向
http://localhost:8080/myapplets.jar
。很可能这只是一个错误(您忘记更改它或忘记使用相对URL)

只需将
archive
属性更改为相对URL即可。大概是这样的:

<applet code="myapplet.class" archive="myapplets.jar" width="350" height="350">
</applet>


Absolute URL总是一个坏主意,对于小程序存档来说尤其如此。

使用了共享驱动器路径(如Z:而不是\server),并且它可以工作。

小程序jar实际上托管在localhost:8080上,html文件可能在任何地方,需要加载小程序。。大多数情况下,它是本地的,但也可以在共享驱动器上。。那么,有没有办法让这个小程序被允许加载?我无法更改存档,因为它必须来自localhost:8080。如果您可以在引用的文档中读取,则不能。您必须将jar与HTML页面一起提供。你可以做的是把HTML也放在本地主机上(我想你是这样做的),并告诉其他人从你的计算机而不是共享驱动器打开HTML。当然,在
archive
属性中将
localhost
更改为您计算机的名称(因为
localhost
仅在您自己的计算机上有效)。
<applet code="myapplet.class" archive="myapplets.jar" width="350" height="350">
</applet>