2012-03-21 2 views
12

Ho un'applicazione Java che webstart richiede Java 7+, in modo che il JNLP ha questa linea:Webstart corre con la versione sbagliata di JRE

<j2se version="1.7+" href="http://java.sun.com/products/autodl/j2se"/> 

Questo funziona su vari Windows XP & di Windows 7 macchine (la maggior parte di loro avendo anche Java 6 installato) ma su uno di essi, webstart viene lanciato con Java 6 e fallisce (versione errata di JRE). Ho trovato this post e controllato le impostazioni Java e sembrano bene:

enter image description here

ho anche provato a cambiare la linea JNLP per questo, ma ancora non funziona:

<j2se version="1.7+"/> 

Delle idee su come per far sapere a webstart che il JRE 1.7 è lì?

Config: Windows 7, eseguito come amministratore - applicazione webstart avviata da IE.

+0

Non ne so molto ma, sei sicuro che non sia qualcosa che ha a che fare con un'impostazione in IE da qualche parte? So che IE può essere un rompicapo. –

+0

@PerryMonschau Non ne ho idea - ho controllato le Opzioni Internet ma non ho trovato nulla che sembrasse correlato. Non è un problema di sicurezza perché l'applicazione ** è ** lanciata (ma con JRE errato) ... – assylias

+0

Ok, prova a seguire i passaggi nella prima o seconda risposta qui: http://stackoverflow.com/questions/ 71254/force-internet-explorer-to-use-a-specifico-java-runtime-environment-install Tranne la sostituzione del suo 1.5 con 1.7 –

risposta

12

Ho trovato il problema. Avevo Java 6 32bits & 64 bit installati, ma Java 7 aveva solo la versione 64 bit installata. E stavo lanciando il collegamento webstart da Internet Explorer 32 bit, che suppongo non possa utilizzare una versione a 64 bit di JRE.

Avvio del webstart da IE 64 bit ha funzionato correttamente.

Grazie per i vostri commenti, ho trovato il problema mentre eseguivo una delle manipolazioni che avete consigliato.

+1

Grazie per aver pubblicato la soluzione. –

+1

+1 Stavo sbattendo la testa contro il muro con questo problema e questa risposta è assolutamente corretta. – Quinma

2

Avevo un problema simile con Java 6 utilizzato per avviare JNLP anziché Java 7 (ho entrambi installato), anche se le mie impostazioni di JAVA_HOME, PATH e Java Control Panel erano tutte impostate su 7. Java 7 sarebbe stato utilizzato quando si avvia da una pagina Web, ma da un collegamento sul desktop, Java 6 era in uso e quindi non essere in grado di avviare l'app poiché richiede 7.

Si scopre che ci sono java, javaw e javaws eseguibili presenti in C: \ Windows \ SysWOW64 e questo è ciò a cui punta il collegamento generato. Quindi ho sovrascritto quegli EXE con quelli di C: \ Programmi \ Java \ jre7 \ bin.

Forse una reinstallazione di JRE 7 avrebbe risolto anche questo problema, ma ho appena scelto questa soluzione rapida.

+0

+1 per un buon risultato. Ho provato entrambe le soluzioni su questa pagina e sto ancora lottando con il problema su Windows 10 per uno dei miei utenti. –