有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java 7中的java安全设置阻止了小程序

我正在尝试部署一个测试演示小程序。小程序的代码如下所示


import java.applet.Applet;
import java.awt.Graphics;

public class TestApplet extends Applet{

    public void paint(Graphics gh){
        gh.drawString("hello world", 300, 200);
    }
}

我还使用了jar中包含的清单文件,其中包含以下行

权限:沙盒

应用程序名称:小程序演示

然后,我使用jarsigner和包含来自sawte的可信证书的密钥库对jar进行了签名。Jarsigner还可以使用适当的证书链验证已签名的jar。我也安装了它。系统中的p12(密钥库)文件

之后,我尝试通过Chrome浏览器从本地服务器加载小程序。下面是我的html代码

<html>
<Title>Applet Testing</Title>
<hr>
<applet code="TestApplet.class"
    archive="SignedTestApplet.jar"
    width="480" height="320">
<param name="Permissions" value="sandbox"/>
<param name="Application-Name" value="Applet Demo"/>
</applet>
<hr>
<html>

在完成上述所有步骤后,我得到以下弹出响应


您的安全设置已阻止应用程序使用过期或过期的java版本运行


我使用的是Java7Update60,如果我从java控制面板将安全级别设置为中等,它就可以工作,但我必须保持高级别

我的程序中是否有任何缺陷,或者应该怎么做

请推荐我


共 (3) 个答案

  1. # 1 楼答案

    您有几个选择:

    1. 安装一个newer version of Java(Java8现在可用)。如果您在Chrome中转到about:plugins,您可以在这里找到Java以及您的浏览器使用的版本(这里也有一个“始终允许”复选框,但它似乎对我没有影响)
    2. 使用标志 allow-outdated-plugins启动Chrome-有关此信息,请参阅相关的Chrome help page
    3. 从Java控制面板将安全级别设置为中等(如您在问题中所述)
  2. # 2 楼答案

    从Java7更新10开始,所有Java版本都有一个expiration date。每当发布关键修补程序更新(CPU)时,旧版本将过期

    自7u60以来,Java 7发布了3 CPUs。您应该更新到7u75或7u76

  3. # 3 楼答案

    您正试图通过已更改的旧方法加载java小程序。介绍了一种使用JNLP(Java网络启动协议)的新方法。请尝试按照本LINK中描述的说明部署小程序