JDK-13.0.1 e jre [RISOLTO]

di il
8 risposte

JDK-13.0.1 e jre [RISOLTO]

Salve a tutti e Buon Anno!...Sto' imparando Java e ho installato il compilatore jdk-13.0.1 e subito dopo l'ultima versione di jre disponibile dal sito di Oracle. La compilazione con
javac nome.java
funziona bene, ma se si tratta di una applicazione grafica quando lancio dalla shell di Windows il comando
java nome
mi appare un messaggio di errore che mi dice che la versione di jre non è supportata dal compilatore; in effetti le versioni di jre e jdk non corrispondono perchè Oracle fornisce come versione piu' aggiornata la jre 1.8.0_231, devo fare downgrade di jdk alla stessa versiione di jre per lanciare applicazioni grafiche? In questo caso Oracle chiede una registrazione online che come campo obbligatorio chiede il nome della società per cui sto' lavorando...ma al momento non lavoro...perchè non esiste la versione di jre corispondente al jdk-13.0.1...non è ancora pronta?

8 Risposte

  • Re: JDK-13.0.1 e jre [RISOLTO]

    Il JDK Java CONTIENE il jre nella directory "jre".

    ATTENTO: molto probabilmente (al 110%) hai diverse VM java installate e avrai java.exe e javaw.exe nella directory System.

    Devi assicurarti di usare SEMPRE la stessa VM quando usi la linea di comando. E questo lo fai configurand CORRETTAMENTE la variabile d'ambiente PATH
  • Re: JDK-13.0.1 e jre [RISOLTO]

    Iron_ManIII ha scritto:


    Sto' imparando Java e ho installato il compilatore jdk-13.0.1 e subito dopo l'ultima versione di jre disponibile dal sito di Oracle.
    [...]
    1) Se hai già un JDK per sviluppo, il JRE non necessariamente serve (se non ci sono motivi davvero specifici)
    2) Un JDK contiene già un JRE
    3) lancia: javac -version -poi- java -version . Se le versioni discordano proprio, c'è un evidente problema di path (che è risolvibile, naturalmente)
    4) Sì, per la registrazione chiede l'azienda. Ma non è vincolante, puoi mettere nothing, none, private, ecc... (io avevo fatto una cosa del genere)
    5) Oracle già da un po' ha smesso di fornire il JRE (mi pare già dal Java SE 11). E pure i binari a 32 bit ha smesso di fornirli.
  • Re: JDK-13.0.1 e jre [RISOLTO]

    Vi ringrazio per avermi risposto...ho controllato e nella mia cartella jdk non esiste nessuna sottocartella jre;
    le versioni discordano...forse dovevo scaricare il file .zip e non quello .exe del jdk 13.0.1 per avere anche il jre come sottocartella?
    
    C:\Users\francesco>javac -version
    javac 13.0.1
    
    C:\Users\francesco>java -version
    java version "1.8.0_231"
    Java(TM) SE Runtime Environment (build 1.8.0_231-b11)
    Java HotSpot(TM) 64-Bit Server VM (build 25.231-b11, mixed mode)
    
  • Re: JDK-13.0.1 e jre [RISOLTO]

    Questo è il messaggio di errore
    C:\jdk-13.0.1\CoreJavaBook\v1ch02\ImageViewer>java ImageViewer
    Error: A JNI error has occurred, please check your installation an
    d try again
    Exception in thread "main" java.lang.UnsupportedClassVersionError:
     ImageViewer has been compiled by a more recent version of the Jav
    a Runtime (class file version 57.0), this version of the Java Runt
    ime only recognizes class file versions up to 52.0
            at java.lang.ClassLoader.defineClass1(Native Method)
            at java.lang.ClassLoader.defineClass(Unknown Source)
            at java.security.SecureClassLoader.defineClass(Unknown Sou
    rce)
            at java.net.URLClassLoader.defineClass(Unknown Source)
            at java.net.URLClassLoader.access$100(Unknown Source)
            at java.net.URLClassLoader$1.run(Unknown Source)
            at java.net.URLClassLoader$1.run(Unknown Source)
            at java.security.AccessController.doPrivileged(Native Meth
    od)
            at java.net.URLClassLoader.findClass(Unknown Source)
            at java.lang.ClassLoader.loadClass(Unknown Source)
            at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Sour
    ce)
            at java.lang.ClassLoader.loadClass(Unknown Source)
            at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown So
    urce)
  • Re: JDK-13.0.1 e jre [RISOLTO]

    Iron_ManIII ha scritto:


    Exception in thread "main" java.lang.UnsupportedClassVersionError:
     ImageViewer has been compiled by a more recent version of the Jav
    a Runtime (class file version 57.0), this version of the Java Runt
    ime only recognizes class file versions up to 52.0
    
    Non puoi compilare avendo come "target" Java 13 (class version 57) e poi far girare su un runtime JDK/JRE Java 8 (class version 52).
    O abbassi il "source level" a Java 8 (ma non puoi usare le novità più recenti) oppure sistemi le versioni.

    Iron_ManIII ha scritto:


    ho controllato e nella mia cartella jdk non esiste nessuna sottocartella jre;
    le versioni discordano...forse dovevo scaricare il file .zip e non quello .exe
    No, nei JDK più recenti in effetti non c'è materialmente la cartella "jre" (in passato c'era). Ma un ambiente di runtime c'è comunque nel JDK (altrimenti neanche i tools del JDK funzionerebbero ..)
  • Re: JDK-13.0.1 e jre [RISOLTO]

    Grazie Andy...dunque se disinstallo il jre di Java 8 dovrebbe funzionare con i tools interni di jdk 13?...
  • Re: JDK-13.0.1 e jre [RISOLTO]

    Iron_ManIII ha scritto:


    se disinstallo il jre di Java 8 dovrebbe funzionare con i tools interni di jdk 13?...
    Sì, ovviamente (avendo la /bin in PATH solo di quel JDK)
  • Re: JDK-13.0.1 e jre [RISOLTO]

    Risolto! Grazie!
Devi accedere o registrarti per scrivere nel forum
8 risposte