Apertura File JNLP in Java 6 JRE invece di JRE 7

Ho Java 6 basato su applicazione Java Web Start che ho bisogno di aprire su una macchina Windows. La macchina ha JRE 7 installato, con JRE 6 copiato manualmente la Program Files cartella. Il problema è che ogni volta che voglio aprire il JWS applicazione, si apre con Java 7. Anche se uso il javaws eseguibile da JRE 6, alcune proprietà ancora riferimento alla JRE 7 file (ho verificato questo utilizzando javaws -verbose app.jnlp. Come posso forzare la JRE 6 solo per questa applicazione?

  • Perché si vuole che? Basta essere curiosi – non ha nulla a che fare con la soluzione. È possibile impostare la “OpenWith”-l’Impostazione per il jre6 ma che sarebbe per tutti jnlps poi.
  • Purtroppo l’applicazione dispone di un controllo interno per la versione di Java, e appena esce se non è stato eseguito sotto la JRE 6. 🙁
  • Un altro esempio: sto utilizzando un’applicazione interna che clamorosamente non riesce i requisiti di sicurezza di Java 8. Apertura in java 7 è molto meno lavoro rispetto a convincere qualcuno a risolvere il problema.
InformationsquelleAutor Ariod | 2012-12-06

 

10 Replies
  1. 17

    Ho Java 6 basato su applicazione Java Web Start ..Come posso forzare la JRE 6 solo per questa applicazione?

    Utilizzare un appropriato version attributo j2se elemento.

    <resources>
        <!-- Any 1.6 JRE -->
        <j2se version='1.6*'>
        ...
    </resources> 

    Avviso

    Questa soluzione non sembra più al lavoro per l’installazione di versioni precedenti di JVM!

    La ragione migliore che posso pensare perché non funziona è che Oracle è faticoso, di rilasciare aggiornamenti di sicurezza per le precedenti versioni di Java – così sta costringendo ad ogni utente di utilizzare l’ultima versione di JVM.

    • Originale JNLP aveva 1.6+. Non so perché, quando l’applicazione controlla la versione e si chiude in se non è di 1,6 comunque. Modifica JNLP per 1.6* ha fatto il trucco.
    • Contento che hai risolto. 🙂
    • Penso che ha smesso di funzionare a causa di Oracle rimosso il JRE funzione di download automatico dal Web 2013: openjdk bug 8006701. Web Start ora spesso (ma non sempre) ignora automaticamente la versione specifica.
  2. 13

    Mi rendo conto che questo è il post più vecchio di sempre, ma è venuto quando ho cercato per un problema simile. Modo più semplice per affrontare questo (come un tempo una soluzione che non influiscono sul sistema in generale) è quello di installare un parallelo versione precedente di Java, e trascinare il jnlp al javaws.exe. (Ho avuto una web app che utilizzate Java 5 e non aprire altro)

    • Bingo! Grazie.
  3. 3

    Ho un UAC controllato portatile con Windows 7 e due versioni di Java installato (1.8 e 1.7). Il sesWebstart.jnlp deve essere iniziato con la precedente versione di Java, nel mio caso 1.7.
    Questo ha funzionato per me:
    Nel Pannello di Controllo Java, eliminare tutte le voci per l’applicazione sesWebstart.jnlp (se esiste). Si può iniziare la Cache di Java Viewer nella riga di comando:

    C:\Program Files (x86)\Java\jre1.7.0_55\bin> javaws -viewer

    Il comando avvia il Pannello di Controllo Java e la Cache di Java Viewer. Goto la Cache di Java Viewer, selezionare l’elenco delle applicazioni e cancellare la voce per sesWebstart.jnlp (se esiste).

    Chiudere la Cache di Java Viewer un’vai al Pannello di Controllo Java. Goto le Impostazioni dei file temporanei di internet e cancellare i file di cache e l’applicazione stessa. Dopo di che, chiudi il Pannello di Controllo Java.

    Creare un nuovo file batch, che consente di avviare la sesWebstart.jnlp con la corretta di Java (il più vecchio):

    "C:\Program Files (x86)\Java\jre1.7.0_55\bin\javaws.exe" "D:\Users\christian\Desktop\sesWebstart.jnlp" 

    Ora, il sesWebstart Applet può iniziare con l’esecuzione di questo file batch.

  4. 3

    Altro plausibile soluzione che ha funzionato per me è stato quello di rinominare il javaws.exe(javaws2) file di programma dell’ultima JRE/JDK dal JVM cercare sempre la versione più recente installato. Se avete bisogno di eseguire il rollback delle modifiche, basta rinominare di nuovo per il valore originale

    • Questo è un ottimo suggerimento. Anche utilizzando java da una versione precedente, al fine di java sembra eseguire il programma con l’ultima javaw.exe. L’opzione-verbose opzione permette di rilevare questo tipo di problemi. Quindi, la ridenominazione non è una vera soluzione, ma permette di capire cosa succede. Credo che la soluzione a lungo termine in questo caso è la JAVA_HOME, come altre risposte menzionato.
  5. 1

    Consiglierei anche di aggiungere l’opzione-verbose bandiera. ad esempio
    javaws.exe -verbose http….

    Nel mio caso, ero ancora invocando alcuni java1.8 argomenti (vedi screenshot),
    ho avuto modo anche di disabilitare Java 8 nel pannello di controllo Java.

  6. 1

    Jnlp jre impostazioni in impostazioni Java che è nel Pannello di Controllo.

    Vai al Pannello di Controllo e ricerca “Java”. Nel mio caso è Java (32-bit). Aprirlo e selezionare la scheda Java, Java Runtime dell’Applicazione Impostazioni

  7. 0

    devi fare manualmente facendo seguente processo semplice,

    1. fare clic destro sul file jnlp –> propeties.
      vai alla attributo si apre con –> fare clic sul pulsante cambia.
    2. selezionare sfoglia.
    3. scegli il percorso di javaws.exe di JRE versione che si desidera se 6 ot 7.
      ex. C:\Program Files (x86)\Java\jre7\bin\javaws.exe (nel mio caso)
    • Grazie, ma non mi permette di cambiare jawaws. Ha mantenuto lasciando solo uno di default nella finestra Apri Con. Alla fine ho rinominato il JRE6 uno per jawaws2 e poi l’ho preso in Apri Con. Tuttavia, ancora non funziona.
    • È possibile modificare il file jnlp spec tag <jnlp spec=”6.0+” codebase=”abc.com” >
  8. 0

    Solo utilizzare in modo esplicito il javaws.exe dal JRE che si desidera, come questo:

    C:\Program Files\Java\jdk1.6.0_45\jre\bin\javaws.exe file.jnlp

    Ma vi prego di avere altre risposte in mente, come j2se versione di impostazione e jnlp spec.

    • Mi chiedo perché questo è downvoted, altre risposte sembrano essere la stessa cosa?
    • Essa in realtà non funziona. Sarà ancora saltare su un altro.
    • ho provato questo, si è dovuto lanciare l’applicazione, ma non succede nulla
  9. 0

    Ho avuto lo stesso problema. Ho creato un file bat, che modifica la variabile JAVA_HOME, quindi utilizza java per eseguire il file jnlp e ha funzionato per me.

    Contenuto del file bat:

    SET "JAVA_HOME=[path to your jre folder]"
    javaws [path to your jnlp]

    Speranza che aiuta 🙂

Lascia un commento