Ich versuche diesen einfachen HelloWorld-Code, der in Java geschrieben ist, in meinem Browser auszuführen ( Chrome ):
public class HelloWorld extends JApplet {
public void init() {
try {
SwingUtilities.invokeAndWait(new Runnable() {
public void run() {
JLabel lbl = new JLabel("Hello World");
add(lbl);
}
});
}
catch (Exception e) {
System.err.println("createGUI didn't complete successfully");
}
}
Ich habe es mit NetBeans kompiliert und dann ein WebApplication-Projekt erstellt. Der HTML -Code, der das Applet ausführt, lautet:
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p><applet code="HelloWorld" archive="applet_HelloWorld.jar" width="590" height="530"></applet></p>
</body>
</html>
Wenn Sie das Applet von NetBeans ausführen, funktioniert es. Wenn ich den HTML-Code durch Doppelklick ausführen, wird die folgende Meldung im Browser angezeigt:
Ihre Sicherheitseinstellungen haben die Ausführung einer lokalen Anwendung blockiert.
Ich habe mit Internet Explorer und Firefox aber nichts versucht.
Diese Meldung wurde nach dem letzten Java-Update angezeigt. Wo ist das Problem?
Nach dem Lesen von Java 7 Update 21 Sicherheitsverbesserungen im Detail Erwähn ..
Mit den eingeführten Änderungen ist es sehr wahrscheinlich, dass kein Endbenutzer Ihre Anwendung ausführen kann, wenn diese entweder selbstsigniert oder unsigniert sind.
Ich wunderte mich, wie dies für lose Klassendateien - die 'einfachsten' Applets von allem, zutrifft.
Ihre Sicherheitseinstellungen haben die Ausführung einer lokalen Anwendung blockiert
Dies ist der Dialog für ein Applet, das aus lockeren Klassendateien besteht, die aus dem local-Dateisystem geladen werden, wenn die JRE auf die Standardeinstellung für die Sicherheitseinstellung "Hoch" gesetzt ist.
Beachten Sie, dass eine geringfügige Eigenart der JRE nur die auf Punkt 3 von.
Wenn Sie das einfache Applet (lose Klassendatei) laden, das unter diesem resettierbares Applet-Demo aus dem internet zu sehen ist, das ein applet
-Element enthält:
<applet
code="PlafChanger.class"
codebase="."
alt="Pluggable Look'n'Feel Changer appears here if Java is enabled"
width='100%'
height='250'>
<p>Pluggable Look'n'Feel Changer appears here in a Java capable browser.</p>
</applet>
Es scheint auch erfolgreich zu laden. Implizieren das:-
Applets, die aus dem lokalen Dateisystem geladen werden, unterliegen jetzt einer strengeren Sicherheits-Sandbox als die aus dem Internet oder einem lokalen Server geladenen.
Ab Java 7 Update 51.
Ich war heute mit demselben Problem konfrontiert und konnte dieses Problem beheben, indem ich die Sicherheitseinstellungen in der Java-Systemsteuerung von HIGH
in MEDIUM
änderte.
Es ist nicht wirklich empfehlenswert, die Java-Sicherheitseinstellung dauerhaft auf MEDIUM zu setzen, da potenziell schädliche Software auf Ihrem System ausgeführt und nicht blockiert werden kann. Ich empfehle Ihnen daher, nach der Ausführung Ihres Applets die Einstellung wieder auf HIGH zu ändern.
Wenn Sie Linux verwenden, sind diese Einstellungen mit /usr/bin/jcontrol
(oder Ihrer Pfadeinstellung zum Abrufen der aktuellen Java-Tools) verfügbar. Sie können die Dateien auch in ~/.Java/deployment/deployment.properties
bearbeiten, um "deploy.security.level = MEDIUM" festzulegen.
Überraschenderweise sind diese Informationen nicht ohne Weiteres auf der Oracle-Website verfügbar. Ich vermisse Java.Sun.com ...
Das ist es!
Wenn Sie keine mittlere Sicherheitsstufe haben, sollten Sie Ihre Anwendung der Ausnahmesite-Liste hinzufügen ( Java-Systemsteuerung → Registerkarte Sicherheit .
Gehen Sie zu Systemsteuerung → Java-Systemsteuerung → Sicherheit und drücken Sie die Edit Site List... Taste.
Drücken Sie die Add Geben Sie Ihren Pfad ein und drücken Sie die Eingabetaste.
Drücken Sie Continue auf die Sicherheitswarnung, die angezeigt wird.
Öffne das Applet erneut und vergiss nicht zu drücken Run im Popup-Fenster.
Wenn Sie wie ich sind, dessen Java Control Panel unter Sicherheitsregisterkarte keinen Sicherheitsschieberegler anzeigt, um die Sicherheitsstufe von Hoch auf Mittel zu ändern, befolgen Sie diese Anweisungen: Bekannter Java-Fehler: Sicherheitsschieberegler nicht sichtbar .
Nach der Installation werden das Kontrollkästchen zum Aktivieren/Deaktivieren von Java und der Schieberegler für die Sicherheitsstufe nicht auf der Registerkarte "Sicherheit" der Java-Systemsteuerung angezeigt. Dies kann bei 7u10 und darüber auftreten.
Dies liegt an einem Konflikt, den Java 7u10 und höher bei Standalone-Installationen von JavaFX hat. Beispiel: Wenn Java 7u5 und JavaFX 2.1.1 installiert sind und Java auf 7u11 aktualisiert wird, zeigt die Java-Systemsteuerung das Kontrollkästchen oder den Sicherheitsschieberegler nicht an.
Es wird empfohlen, alle Versionen von Java und JavaFX vor der Installation von Java 7u10 und höher zu deinstallieren.
Bitte befolgen Sie die nachstehenden Schritte, um dieses Problem zu beheben.
1. Entfernen Sie alle Versionen von Java und JavaFX über die Windows-Deinstallations-Systemsteuerung. Anweisungen zum Deinstallieren von Java .
2. Führen Sie das Microsoft-Deinstallationsprogramm aus, um beschädigte Registrierungsschlüssel zu reparieren, die verhindern, dass Programme vollständig deinstalliert werden oder neue Installationen und Updates blockieren.
3. Laden Sie das Windows Offline-Installationsprogramm herunter und installieren Sie es.
Mein Problemfall war, die Datei portecle.jnlp lokal mit Java8 auszuführen.
Was für mich funktioniert hat war
In Schritt 3 können Sie auch versuchen, die Datei: /// c: /path/portecle.jnlp hinzuzufügen. Dieser Zusatz hat jedoch in meinem Fall nicht geholfen.
Beginnend mit Java 8 gibt es auf der Registerkarte "Sicherheit" unter Java keine "mittleren" Risikoeinstellungen
Sie erhalten diesen Fehler so lange, bis Sie zu älterem Java zurückkehren (vorgeschlagenes Java 7, obwohl es das Ende seines Lebens erreicht hat).
Installieren Sie sowohl die 32-Bit- als auch die 64-Bit-Version, da die Browser auch auf einem 64-Bit-Computer mit 64-Bit-Betriebssystem immer noch 32-Bit sind
Ich verwende ein älteres Data Structure and Algs-Buch, das zum Üben mit Java-Applets geliefert wird. Also musste ich einige Applets lokal speichern und ausführen. Ich verwende derzeit Windows 10 mit Edge, Chrome und IE 11.
Das Ausführen von Applets ist anscheinend nur in IE11 zulässig. Wie bereits erwähnt, müssen Sie das Applet der Ausnahmeliste hinzufügen. Mein Problem bestand darin, dass ich diese lokal speichere und sie im IE öffne. Der Pfad begann mit "C:\...". Den vollständigen Pfad fügte ich mit "file /// ..." hinzu, wie in einem von beschrieben Die anderen Antworten haben bei mir nicht funktioniert.
Das Update: Also habe ich (ohne die Anführungszeichen) "file: ///" zur Ausnahmeseitenliste hinzugefügt und es endlich zum Laufen gebracht. Auf diese Weise kann ich auch jedes lokal gespeicherte Applet ausführen und muss nicht explizit für jeden Applet-Pfad eine Ausnahme hinzufügen.
Ich plane, die Ausnahme von der Liste zu entfernen, sobald ich mit den Programmen fertig bin, und sie nur bei Bedarf wieder hinzuzufügen.
Java-Applets stellen ein Sicherheitsrisiko dar und sind daher in den meisten modernen Browsern deaktiviert. Sie müssen die Sicherheit verringern, um es auszuführen. Es gibt einen Guide von Oracle dafür.