J'essaie d'exécuter ce simple code HelloWorld écrit en Java à partir de mon navigateur ( 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");
}
}
Je l'ai compilé avec NetBeans , puis j'ai créé un projet WebApplication. Le code HTML qui exécute l'applet est:
<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>
Si vous exécutez l'applet de NetBeans, cela fonctionne. Mais lorsque je lance le code HTML en double-cliquant dessus, le message suivant apparaît dans le navigateur:
Vos paramètres de sécurité ont bloqué l'exécution d'une application locale.
J'ai essayé avec Internet Explorer et Firefox mais rien.
Ce message a commencé à apparaître après la dernière mise à jour de Java. Où est le problème?
Après avoir lu Améliorations de la sécurité dans Java 7 Update 21 en détail mention ..
Avec les modifications introduites, il est fort probable qu'aucun utilisateur final ne puisse exécuter votre application lorsqu'il est auto-signé ou non signé.
..Je me demandais comment cela irait pour les fichiers de classe en vrac - les applets «les plus simples» de tous.
Vos paramètres de sécurité ont bloqué l'exécution d'une application locale.
C’est la boîte de dialogue affichée pour une applet constituée de fichiers de classe en vrac chargés par le système de fichiers local lorsque le JRE est défini sur le paramètre de sécurité «Élevé» par défaut.
Notez qu'un léger caprice de la JRE n'a produit que cela au point 3 de.
Si vous chargez la simple applet (fichier de classe en vrac) vue lors de cette démo redimensionnable applet off the internet - qui dispose d’un élément applet
de
<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>
Il semble aussi se charger avec succès. Impliquant que: -
Les applets chargés à partir du système de fichiers local sont maintenant soumis à un sandbox de sécurité plus strict que ceux chargés à partir d'Internet ou d'un serveur local.
À partir de Java 7 mise à jour 51.
J'ai rencontré le même problème aujourd'hui et j'ai pu le résoudre en modifiant les paramètres de sécurité du panneau de configuration Java de HIGH
à MEDIUM
.
Il est déconseillé de définir de manière permanente le paramètre de sécurité Java sur MOYEN, car cela permettra aux logiciels malveillants potentiels de s'exécuter sur votre système sans être bloqués. Je suggère donc qu'après avoir exécuté votre applet, vous souhaitiez peut-être redéfinir le paramètre sur HIGH.
Si vous utilisez Linux , ces paramètres sont disponibles avec /usr/bin/jcontrol
(ou votre paramètre de chemin pour obtenir les outils Java actuels). Vous pouvez également éditer les fichiers dans ~/.Java/deployment/deployment.properties
pour définir "deployment.security.level = MEDIUM".
Étonnamment, ces informations ne sont pas facilement disponibles sur le site Web Oracle. Java.Sun.com me manque ...
C'est tout!
Si vous n'avez pas de niveau de sécurité moyen, vous devez alors ajouter votre application à la liste des sites d'exception (. Panneau de configuration Java → Onglet Sécurité ).
Allez à Panneau de configuration → Panneau de configuration Java → Sécurité et appuyez sur le bouton de navigation Edit Site List... bouton.
Appuyez sur la Add bouton, insérez votre chemin et appuyez sur Entrée.
Presse Continue sur l'avertissement de sécurité qui apparaît.
Ouvrez à nouveau l'applet et n'oubliez pas d'appuyer sur Run sur la fenêtre pop-up.
Si vous êtes comme moi et que son panneau de configuration Java n’affiche pas le curseur de sécurité sous l’onglet Sécurité pour modifier le niveau de sécurité de élevé à moyen, suivez les instructions ci-dessous: Bug connu de Java: curseur de sécurité non visible .
Après l'installation, la case à cocher pour activer/désactiver Java et le curseur de niveau de sécurité n'apparaissent pas dans l'onglet Sécurité du panneau de configuration Java. Cela peut se produire avec 7u10 et plus.
Ceci est dû à un conflit entre Java 7u10 et les versions ultérieures et les installations autonomes de JavaFX. Exemple: Si Java 7u5 et JavaFX 2.1.1 sont installés et si Java est mis à jour en 7u11, le panneau de configuration Java n'affiche pas la case à cocher ou le curseur de sécurité.
Il est recommandé de désinstaller toutes les versions de Java et JavaFX avant d'installer Java 7u10 et supérieur.
Veuillez suivre les étapes ci-dessous pour résoudre ce problème.
1. Supprimez toutes les versions de Java et JavaFX via le Panneau de configuration de la désinstallation de Windows. Instructions sur désinstaller Java .
2. Exécutez l'utilitaire de désinstallation de Microsoft pour réparer les clés de registre corrompues empêchant la désinstallation complète des programmes ou bloquant les nouvelles installations et mises à jour.
3. Téléchargez et installez le programme d'installation Windows en mode hors connexion package.
Mon cas de problème était d’exécuter le fichier portecle.jnlp localement à l’aide de Java8.
Ce qui a fonctionné pour moi était
À l'étape 3, vous pouvez également essayer d'ajouter le fichier: /// c: /path/portecle.jnlp, mais cette addition n'a pas aidé mon cas.
À partir de Java 8, il n'y a pas de paramètre de risque "moyen" dans l'onglet Sécurité sous Java.
Vous continuerez à avoir cette erreur jusqu'à ce que vous reveniez à l'ancienne version de Java (Java 7 suggéré, il est cependant en fin de vie).
Installez les versions 32 bits et 64 bits car les navigateurs sont toujours en version 32 bits, même sur un système d'exploitation 64 bits et une machine
J'utilise un ancien livre de structure de données et d'algs fourni avec les applets Java. Je devais donc stocker et exécuter des applets localement. J'utilise actuellement le système d'exploitation Windows 10 avec Edge, Chrome et IE 11.
L'exécution des applets semble être autorisée uniquement dans IE11 et, comme d'autres l'ont mentionné, vous devez ajouter l'applet à la liste des exceptions. Mon problème était depuis que je stocke ces localement, et les ouvre dans IE, il a ouvert avec le chemin commençant par "C:\..." Ajoutant le chemin complet en utilisant, "fichier /// ..." comme mentionné dans l'un des les autres réponses n'ont pas fonctionné pour moi.
Le correctif: Alors, je viens d’ajouter (sans les guillemets), "fichier: ///" à la liste des sites d’exception et je l’ai enfin fait fonctionner. Cela me permet également d'exécuter n'importe quelle applet stockée localement, et je n'ai pas à ajouter explicitement une exception pour chaque chemin d'applet.
Je prévois de supprimer l'exception de la liste une fois l'utilisation des programmes terminée et de la rajouter uniquement si nécessaire.
Les applets Java créent un risque de sécurité et sont donc désactivés dans la plupart des navigateurs modernes. Vous devez baisser la sécurité pour l'exécuter. Il existe un guide par Oracle pour cela.