2015-05-12 11 views
6

Ho riscontrato un problema con l'apertura delle estensioni * .jnlp utilizzando Internet Explorer. L'estensione si apre correttamente in Chrome e Firefox, portandomi a credere che sia un problema con IE e possibilmente configurazione del server web/JNLP. Nello specifico, internet explorer apre il file * .jnlp come uno script * .xml invece di scaricare il file o aprirlo con java web start.L'estensione JNLP non si apre in Internet Explorer

Esempio:

<?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> 

Ho provato le seguenti "correzioni"/soluzioni alternative senza alcun risultato:

  • Esegui IE come amministratore
  • Aggiunta di URL di vista di compatibilità
  • Modifica delle impostazioni di JAVA su "Consenti sempre JNLP/MIME"
  • Ripristina impostazioni di Internet Explorer avanzate
  • Modificare le impostazioni di estensione MIME nel file web.xml del server web
  • Cambiamento IE impostazione per consentire sempre il download di file

Aggiornamento:ho potuto risolvere questo problema con la soluzione alternativa che ho postato di seguito. Tuttavia, sto cercando una soluzione più permanente se qualcuno ha suggerimenti. In particolare, sto cercando un modo per risolvere questo problema sul lato business/server, se possibile. Sarebbe bello se gli utenti non avessero bisogno di modificare le impostazioni dalla loro parte (altri poi passare da IE a un altro browser).

MIME-Mapping in web.xml:

<mime-mapping> 
    <extension>jnlp</extension> 
    <mime-type>application/x-java-jnlp-file</mime-type> 
</mime-mapping> 
+0

*: Modifica le impostazioni dell'estensione MIME nel file web.xml del server Web "* Questo è tutto ciò che dovrebbe essere richiesto. A cosa è stato impostato? BTW - 1) Assicurati di controllare il JNLP usando JaNeLA, disponibile nel mio [share drive] (https://drive.google.com/drive/#folders/0B5B9wDXIGw9lUnJaUjA2cmlVRE0). 2) Quali browser lanciano correttamente JNLP? –

+0

Chrome e Firefox lanciano JNLP senza problemi. È solo Internet Explorer che sta avendo il problema Ho aggiunto il codice utilizzato per il mapping MIME nella domanda come modifica – ballBreaker

+0

E .. JaNeLA ha qualcosa da segnalare sul tipo di contenuto MIME? –

risposta

8

ho finito per la risoluzione di questo problema modificando un'impostazione specifica all'interno di Internet Explorer.

Strumenti -> Opzioni Internet -> Protezione -> Livello personalizzato ... -> Varie -> Abilita MIME Sniffing->Disabilita

Ci ho messo un po 'a trovare questa correzione, quindi sono includendolo qui nel caso in cui qualcun altro abbia questo problema pure.

PS: questo è più di una soluzione alternativa a una soluzione permanente. Qualsiasi intuizione aggiuntiva sarebbe utile.

Aggiornamento: Finito l'aggiunta <% @ page contentType = "application/x-java-jnlp-file" %> all'inizio del file JNLP e poi costruire la guerra. In sostanza, JNLP si avvia automaticamente ma genera un errore di analisi. Una volta che questa riga è stata eliminata da JNLP e WAR è stato ricostruito, JNLP avviava javawebstart e l'errore di analisi era scomparso (AKA). Non so davvero perché, ma questa magia sembrava funzionare.

+2

Ho dimenticato di aggiungere che se qualcuno ha ancora qualche idea li apprezzerei. – ballBreaker

0

Conservo la mia applicazione JWS fuori dall'EAR/WAR, insieme a tutte le librerie firmate.

Se l'applicazione JWS è ospitato in un server web Apache, in httpd.conf, è possibile aggiungere il tipo come segue:

AddType application/x-java-jnlp-file .jnlp 

Riferimento qui: http://httpd.apache.org/docs/current/mod/mod_mime.html

0

problema JNLP potrebbe essere fissato per come segue:

  1. Aprire Mozilla Firefox e quindi scaricare l'estensione JNLP. Mozilla Mi ha chiesto come aprirlo, ho scelto Apri con javaws (su C:\Program Files\Java\jre1.8.0_161\lib).
  2. Scegli applica questa opzione d'ora in poi.

Ho provato ad aprirlo su Internet Explorer e ha funzionato automaticamente.

Oppure dal file scaricato fare clic destro sul file di estensione JNLP, aprire con javaws (su C:\Program Files\Java\jre1.8.0_161\lib). Non ho provato questo, ma penso che dovrebbe funzionare.