le plugin 64 bits de JRE / JDK / Java 9 est incompatible avec IE 11 64 bits


J'essaie d'exécuter l'applet avec JRE 9 sur Internet explorer 11 (64 bits), mais il ne s'exécute pas. J'ai essayé sur Windows 10 et server 2012. Dans mon application, nous détectons la version jre installée à l'aide de deployJava.js. Si aucune version n'est trouvée, une invite de téléchargement s'affiche. Cette détection se fait via la fonction javascript getJREs qui peut être trouvée ici. Voir l'extrait ci-dessous:

getJREs: function() {
    var list = new Array();
    if (this.isPluginInstalled()) {
        var plugin =  this.getPlugin();
        var VMs = plugin.jvms;
        for (var i = 0; i < VMs.getLength(); i++) {
            list[i] = VMs.get(i).version;
        }
    } else {
        var browser = this.getBrowser();

        if (browser == 'MSIE') {
            if (this.testUsingActiveX('9')) {
                list[0] = '9';
            } else if (this.testUsingActiveX('1.8.0')) {
                list[0] = '1.8.0';
            } else if (this.testUsingActiveX('1.7.0')) {
                list[0] = '1.7.0';
            } else if (this.testUsingActiveX('1.6.0')) {
                list[0] = '1.6.0';
            } else if (this.testUsingActiveX('1.5.0')) {
                list[0] = '1.5.0';
            } else if (this.testUsingActiveX('1.4.2')) {
                list[0] = '1.4.2';
            } else if (this.testForMSVM()) {
                list[0] = '1.1';
            }
        } else if (browser == 'Netscape Family') {
            this.getJPIVersionUsingMimeType();
            if (this.firefoxJavaVersion != null) {
                list[0] = this.firefoxJavaVersion;
            } else if (this.testUsingMimeTypes('9')) {
                list[0] = '9';
            } else if (this.testUsingMimeTypes('1.8')) {
                list[0] = '1.8.0';
            } else if (this.testUsingMimeTypes('1.7')) {
                list[0] = '1.7.0';
            } else if (this.testUsingMimeTypes('1.6')) {
                list[0] = '1.6.0';
            } else if (this.testUsingMimeTypes('1.5')) {
                list[0] = '1.5.0';
            } else if (this.testUsingMimeTypes('1.4.2')) {
                list[0] = '1.4.2';
            } else if (this.browserName2 == 'Safari') {
                if (this.testUsingPluginsArray('9')) {
                    list[0] = '9';
                } else if (this.testUsingPluginsArray('1.8')) {
                    list[0] = '1.8.0';
                } else if (this.testUsingPluginsArray('1.7')) {
                    list[0] = '1.7.0';
                } else if (this.testUsingPluginsArray('1.6')) {
                    list[0] = '1.6.0';
                } else if (this.testUsingPluginsArray('1.5')) {
                    list[0] = '1.5.0';
                } else if (this.testUsingPluginsArray('1.4.2')) {
                    list[0] = '1.4.2';
                }
            }
        }
    }

    if (this.debug) {
        for (var i = 0; i < list.length; ++i) {
            log('[getJREs()] We claim to have detected Java SE ' + list[i]);
        }
    }

    return list;
}

Dans le cas de JRE 9, cette fonction n'est pas capable de détecter la version java et l'applet a échoué à charge. Voici les discutionssI vu qui parle dans les mêmes lignes:

  1. JDK-8188306
  2. JDK-8193431
  3. JDK-8162522
  4. Cette réponse de microsoft
  5. Ce SO OP le résout en utilisant JRE 32 bits. Dans mon cas, ce n'est pas possible car Oracle n'a pas publié la version 32 bits de JRE/JDK 9.

J'ai également pu voir que les deux assistants du plugin Java SSV sont répertoriés comme incompatibles dans la liste d'IE addons.

J'ai essayé de charger l'applet avec JRE 1.8 (à la fois 32 bits et 64 bits), il se charge parfaitement bien.

Je comprends que les applets ont été obsolètes dans java 9, mais la dépréciation ne signifie pas qu'ils ne s'exécuteront pas, n'est-ce pas?

PS: J'apprécierais si vous ne me demandez pas de ne pas utiliser l'applet car je dois le faire à des fins héritées. Donc, merci à l'avance!

Author: Shanu Gupta, 2018-02-05

2 answers

La fin du JRE 32 bits par Oracle rend impossible l'exécution d'applets dans IE11 sans lui définir des paramètres non par défaut pour les clients installant le JRE Oracle. Les applets peuvent toujours s'exécuter, mais uniquement si l'utilisateur final ou l'administrateur effectue les paramètres nécessaires pour que IE fonctionne avec JRE 64 bits. L'installation du JRE ne fait pas ces paramètres, ils cassent les plugins 32 bits uniquement et rétablissent IE11 à un modèle à un processus. Cela ne fonctionnera donc que dans un environnement contrôlé.

Voir cette question pour paramètre: Exécuter Java 64 bits avec Internet explorer 11

Théoriquement, java web start devrait fonctionner même sans forcer les paramètres 64 bits pour IE, puis vous pourriez exécuter une applet qui ne nécessite pas de liaisons javascript dans l'appletviewer webstart. Donc, dans des circonstances très spécifiques, cela pourrait être une option pour exécuter une applet, à partir d'IE11 par défaut avec JRE10.

Voir: https://docs.oracle.com/javase/7/docs/technotes/guides/jweb/applet_migration.html

Un petite excursion pour les curieux, il existe en fait une version Windows 32 bits d'openjdk 10 ici: https://github.com/ojdkbuild/ojdkbuild . Il inclut le lanceur Ice Tea Web (ITW), mais cela utilise npapi, donc ne fonctionne plus aujourd'hui pour les applets dans le navigateur.

 1
Author: user188737, 2018-05-17 15:43:04

Reportez-vous au lien ci-dessous.

Certifications avec EBS 11i toujours en attente

Nous prévoyons de certifier IE 11 avec EBS 11i. Cette certification nous est en cours maintenant et sera publiée prochainement.

Si vous utilisez EBS 11i, vous devez vous assurer que vos postes de travail critiques restent sur un navigateur certifié antérieur jusqu'à ce que cette certification soit terminée. Au moment de la publication de cet article, les navigateurs certifiés incluent IE 10 et Firefox ESR 31 pour Windows Desktop.

Vous pouvez bloquer les mises à jour automatiques à l'aide de Microsoft Internet Explorer 11 Blocker Toolkit:

Https://blogs.oracle.com/stevenchan/internet-explorer-11-certified-with-e-business-suite-122-and-120

 0
Author: Amey Puranik, 2018-05-11 14:37:11