*什么* Java“安全设置阻止了本地应用程序运行”?

提问

我有一个简单的测试小应用程序,该应用程序应该绘制一个三角形(并且可以从命令行使用appletviewer Triangle.class正常工作),但是当我尝试在浏览器中查看Triangle.htm时,会收到此消息(来自Java本身,据我所知,不是我的Firefox或Chrome):

“Your security settings have blocked a local application from running.”

但是,我不知道要更改哪些设置.我试过将常规设置降至最低(称为“中等”),哈哈,这就像是咖啡店的杯子尺寸-哦,对.)但是没有用,如果解决方案埋在了更高级的选项,这对我来说很痛苦……:/

这个问题听起来像我的问题:

Java Error: “Your security settings have blocked a local application from running”

但是原始海报说:“已解决:问题是编译器使用JDK6而不是JDK7.”

在重新编译类文件之前,我检查了最新版本:

> java -version
java version "1.7.0_25"
Java(TM) SE Runtime Environment (build 1.7.0_25-b17)
Java HotSpot(TM) Client VM (build 23.25-b01, mixed mode, sharing)

> javac Triangle.java

无论如何,谁能看到他们是否遇到相同的问题,并告诉我您如何解决?

为了便于复制,以下是类文件的来源:

Triangle.java:

import java.awt.*;
import java.applet.Applet;
public class Triangle extends Applet {
    public void paint (Graphics g){
        int bottomX=80;
        int bottomY=200;
        int base=100;
        int height=100;
        g.drawLine(bottomX,bottomY,bottomX+base,bottomY);
        g.drawLine(bottomX+base,bottomY,bottomX+base/2,bottomY-height);
        g.drawLine(bottomX+base/2,bottomY-height, bottomX,bottomY);
    }
}

这是带有类文件的文件夹中的htm:

Triangle.htm:

<applet code="Triangle.class" width=400 height=400></applet>

最佳答案

我刚刚使用Java版本1.7.0_25-b17尝试了您的代码.在浏览器中,在这里看到的两个较低的设置上它可以正常工作.

为了使其达到最高安全级别,需要将其放入Jar中并使用有效证书进行签名.