J'ai un problème d'ouverture des extensions * .jnlp à l'aide d'Internet Explorer. L'extension s'ouvre correctement dans Chrome et Firefox, ce qui me laisse penser que c'est un problème avec IE et éventuellement la configuration du serveur Web/JNLP. Plus précisément, Internet Explorer ouvre le fichier * .jnlp en tant que script * .xml au lieu de télécharger le fichier ou de l’ouvrir avec Java Web Start.
Exemple:
<?xml version="1.0" encoding="utf-8" ?>
- <!--
JNLP File for Downtime Registration Application
-->
- <jnlp spec="1.7+" codebase="http://foo:8080/bar" href="bar.jnlp">
- <information>
<title>FOO</title>
<vendor>FOO Inc.</vendor>
<description>FOO BAR System</description>
- <shortcut online="false">
<desktop />
<menu submenu="FOO" />
</shortcut>
</information>
- <security>
<all-permissions />
</security>
- <resources>
<j2se version="1.7+" Java-vm-args="-client" />
...
</resources>
<application-desc main-class="FooBarMainApp" />
</jnlp>
J'ai essayé les "correctifs" suivants/solutions de contournement sans succès:
Mise à jour: J'ai pu résoudre ce problème avec la solution de contournement que j'ai postée ci-dessous. Cependant, je cherche une solution plus permanente si quelqu'un a des suggestions. Plus précisément, je recherche un moyen de résoudre ce problème côté entreprise/serveur, dans la mesure du possible. Ce serait bien si les utilisateurs n'avaient pas besoin de modifier les paramètres de leur côté (autre que le passage de IE à un autre navigateur).
MIME-Mapping dans web.xml:
<mime-mapping>
<extension>jnlp</extension>
<mime-type>application/x-Java-jnlp-file</mime-type>
</mime-mapping>
J'ai finalement résolu ce problème en modifiant un paramètre spécifique dans Internet Explorer.
Outils -> Options Internet -> Sécurité -> Personnaliser le niveau ... -> Divers -> Activer le reniflement MIME-> Désactiver
Il m'a fallu un certain temps pour trouver ce correctif; je l'inclue donc au cas où quelqu'un d'autre aurait également ce problème.
PS: C’est plus une solution de contournement qu’un correctif permanent. Toute information supplémentaire serait utile.
Mise à jour : Vous avez fini par ajouter <% @ page contentType = "application/x-Java-jnlp-fichier"%> au début du fichier JNLP, puis de générer la guerre. Essentiellement, le JNLP se lancerait automatiquement mais donnerait une erreur d’analyse. Une fois que cette ligne a été retirée du JNLP et que le WAR a été reconstruit, le JNLP a lancé javawebstart et l'erreur d'analyse a disparu (AKA Problem Solved). Je ne sais pas vraiment pourquoi, mais cettemagiesemblait fonctionner.
Le problème JNLP peut être résolu en procédant comme suit:
C:\Program Files\Java\jre1.8.0_161\lib
).J'ai essayé de l'ouvrir sur Internet Explorer et cela fonctionnait automatiquement.
Ou depuis le fichier téléchargé, cliquez à droite sur le fichier d’extension JNLP, ouvrez-le avec javaws (sur C:\Program Files\Java\jre1.8.0_161\lib
). Je n'ai pas essayé celui-ci mais je pense que cela devrait fonctionner.
Je stocke mon application JWS hors de EAR/WAR, ainsi que toutes les bibliothèques signées.
Si l'application JWS est hébergée sur un serveur Web Apache, dans httpd.conf, vous pouvez ajouter le type comme suit:
AddType application/x-Java-jnlp-file .jnlp
Référence ici: http://httpd.Apache.org/docs/current/mod/mod_mime.html