Visualizzazione dei risultati da 1 a 9 su 9

Discussione: Errore strano di incompatibilità versione Java

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    26

    Errore strano di incompatibilità versione Java

    Mi presento
    Mi chiamo Moreno 65 anni, appassionato da sempre di programmazione e ero mi sto cimentando con Java. Ho la necessità di screare applicativi di tipo desktop (almeno inizialmente) e ho scelato Eclipse come IDE. Ho pertanto effettuato aggiornamento del software aggiuntivo dal link Photon - "http://download.eclipse.org/releases/photon" dal menu Help/Install new software.

    Ho creato il primo banale progetto progetto, contenente anche una form.

    Il primo progetto serviva per testare il funzionamento ed era solo ed esclusivamente di test.

    Ho creato pertanto un secondo progetto che rappresenta il vero progetto applicativo.
    Appena ho creato una classe JFrame, andando in modalità Design compare un errore di Inconpatibilità di versione java.
    Non me lo spiego dato che ho solo una JDK e una sola JRE

    In allegato gli screenshot che sintetizzano la situazione

    Mi rendo conto di aver sbagliato operativamente qualcosa in aggiunta nuovo progetto, ma non riesco a individuare come.
    Puoi darmi una traccia corretta per creare un progetto che deve contenere sia classi normali che classi di tipo visuale ?
    Mi rendo conto di fare una riciesta da prima elemntare, ma appunto perchè sto iniziando ad addentrami nel mondo Java e nello specifico
    di Eclipse, vorrei avere le idee più chiare per non incorrere in continui errori.

    I progetti finora creati possono essere totalmente cancellati se ho commesso un errore di fondo.
    Grazie

    Avrei altre immagini da allegare, ma i filtri di inserimento me lo impediscono.
    Lo trovo limitativo per permettere una chiara informativa dellp'errore.
    Immagini allegate Immagini allegate

  2. #2
    Quote Originariamente inviata da misonsan Visualizza il messaggio
    Mi rendo conto di fare una riciesta da prima elemntare, ma appunto perchè sto iniziando ad addentrami nel mondo Java e nello specifico
    Allora dovresti innanzitutto iniziare a comprendere come funziona Eclipse rispetto ai runtime Java e dove come sono configurabili.

    Quindi:

    - Un conto è il runtime Java che lancia ed esegue l'IDE Eclipse in sé. Questo viene scelto o da una impostazione esplicita nel eclipse.ini (da fare espressamente, non c'è per default) oppure viene cercato nel "path" (variabile di ambiente PATH) del sistema. Si può avviare Eclipse tanto con un JDK che un JRE.

    - Poi ci sono i vari runtime Java configurabili in Eclipse. Li vedi nella configurazione "globale" di Eclipse: menù Window --> Preferences --> sezione Java -> Installed JREs

    - Poi c'è la questione degli Execution Environment. Quelle stringhe particolari che hai già visto es. "JavaSE-10". Questi sono nomi standard pensati e noti solo ad Eclipse. "JavaSE-10" da solo non vuol dire proprio nulla di particolare, bisogna "mappare" questo nome ad un runtime Java specifico fisicamente presente.
    E questo lo si fa sempre globalmente in Eclipse: menù Window --> Preferences --> sezione Java -> Installed JREs -> Execution Environments
    Puoi ad esempio dire che "JavaSE-10" è mappato su un jdk-10.0.2 fisicamente presente (che è un match "perfetto"). Quindi ovunque vedrai "JavaSE-10" è semplicemente un alias per quel JDK specifico. Il vantaggio è che se il progetto si basa su questo nome generico "JavaSE-10" quando poi dovesse uscire il jdk-10.0.3 se lo cambi solo negli Execution Environments, allora nel tuo progetto non cambia nulla (non devi toccare nulla) e continua a funzionare, solo con "sotto" un runtime più aggiornato.
    Insomma, questi Execution Environment sono solo delle "indirezioni" verso un runtime specifico.

    - Un altro conto è il JDK "compliance" level di un certo progetto. Questo indica la versione di Java usata in compilazione. Per i tipi di progetti "nativi" di Eclipse (quindi non Maven o altro) si può andare direttamente in Proprietà Progetto -> Java Compiler -> riquadro "JDK Compliance". Per un progetto es. Maven, sarebbe meglio configurare source/target level nel pom.xml del progetto.
    Se per es. si mette come compliance level 1.7, chiaramente non si potranno usare le nuove belle cose di Java 8 (es. lambda expression, method references, ecc..). E così via ..

    - Un altro conto ancora è il runtime Java che esegue un progetto lanciato da Eclipse. Questo lo si configura in una Run Configuration, scheda "JRE". Se hai già lanciato almeno una volta un progetto, ce l'hai di certo, altrimenti la si può creare a mano ma generalmente è più scomodo.
    Si può avere es. una compliance level Java 8 ma poi eseguire con un JRE 10.
    Andrea, www.andbin.net – Senior Java developer – SCJP 5 (91%) – SCWCD 5 (94%)

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    26

    Come sistemare

    Grazie Andrea per la cortese risposta.

    Leggo con piacere la tua professionale risposta.
    Mi trovo però operativamente abbastanza imbarazzato.
    Immagino avrai capito ceh sono un neaofita e quindi non ho molto le mani in pasta sul Eclipse.
    Ora che hai un'idea più chiara del problema, ovviamente causato da mie operatività errate, vorrei chiederti operativamente una mano per risistemare l'ambiente Eclipse.
    Devo disinstallarlo ?
    O come posso rimettermi in condizione di opter graficamente continuare il lavoro sul progetto ?

    So che può essere una grande rottura, ma mi servirebbero al momento banalmente i passi per ripristinare l'ambiente di sviluppo.
    Poi rileggendo il tuo ampio commento cerco anceh di digerrilo da un punto di vista di immagine dell'applicazione Eclipse.
    Ti ringrazio per la cortesia.
    ciao

    Moreno

  4. #4
    Precisa allora:
    - quale/i JDK e/o JRE hai sulla macchina
    - quale JDK/JRE viene usato per eseguire Eclipse (non è importantissimo; se non hai fatto alcuna impostazione esplicita per fare diversamente, presumibilmente è l'ultimo JDK/JRE installato in ordine di tempo)
    - quale versione di Java intendi usare per il tuo progetto
    Andrea, www.andbin.net – Senior Java developer – SCJP 5 (91%) – SCWCD 5 (94%)

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    26

    Anomalia su Eclipse

    Ciao Andbin
    grazie per la paziente attenzione.
    Cerco di risponderti al meglio certo che saprai chiarirmi e a rimettermi l'IDE funzionante.

    andbin Precisa allora:
    - quale/i JDK e/o JRE hai sulla macchina
    l'installazione di Eclipse mi ha creato in Programmi\java\ le sottocartelle
    jdk-10.0.2 e jre-10.0.2

    in un tuo precedente contributo avevi detto
    - Un conto è il runtime Java che lancia ed esegue l'IDE Eclipse in sé. Questo viene scelto o da una impostazione esplicita nel eclipse.ini (da fare espressamente, non c'è per default) oppure viene cercato nel "path" (variabile di ambiente PATH) del sistema. Si può avviare Eclipse tanto con un JDK che un JRE.
    Non ho effettuato nessun intervento sulla vaariabile d'ambiente PATH quindi non so se viene attivato da JDK o da JRE.

    quindi il tuo secondo punto nella risposta

    quale JDK/JRE viene usato per eseguire Eclipse (non è importantissimo; se non hai fatto alcuna impostazione esplicita per fare diversamente, presumibilmente è l'ultimo JDK/JRE installato in ordine di tempo)
    non so risponderti.

    relativamente ad un altro punto in una tua precedente risposta e precisamente
    - Poi c'è la questione degli Execution Environment. Quelle stringhe particolari che hai già visto es. "JavaSE-10". Questi sono nomi standard pensati e noti solo ad Eclipse. "JavaSE-10" da solo non vuol dire proprio nulla di particolare, bisogna "mappare" questo nome ad un runtime Java specifico fisicamente presente.
    E questo lo si fa sempre globalmente in Eclipse: menù Window --> Preferences --> sezione Java -> Installed JREs -> Execution Environments
    Puoi ad esempio dire che "JavaSE-10" è mappato su un jdk-10.0.2 fisicamente presente (che è un match "perfetto"). Quindi ovunque vedrai "JavaSE-10" è semplicemente un alias per quel JDK specifico. Il vantaggio è che se il progetto si basa su questo nome generico "JavaSE-10" quando poi dovesse uscire il jdk-10.0.3 se lo cambi solo negli Execution Environments, allora nel tuo progetto non cambia nulla (non devi toccare nulla) e continua a funzionare, solo con "sotto" un runtime più aggiornato.
    Insomma, questi Execution Environment sono solo delle "indirezioni" verso un runtime specifico.
    ti allego la situazione

    poi per

    - Un altro conto è il JDK "compliance" level di un certo progetto. Questo indica la versione di Java usata in compilazione. Per i tipi di progetti "nativi" di Eclipse (quindi non Maven o altro) si può andare direttamente in Proprietà Progetto -> Java Compiler -> riquadro "JDK Compliance". Per un progetto es. Maven, sarebbe meglio configurare source/target level nel pom.xml del progetto.
    Se per es. si mette come compliance level 1.7, chiaramente non si potranno usare le nuove belle cose di Java 8 (es. lambda expression, method references, ecc..). E così via ..

    non riesco a vedere dentro a Java compiler il riquadro JDK Compliance
    ti allego la situazione

    per la domanda finale

    - quale versione di Java intendi usare per il tuo progetto
    Non ho competenze per scegliere.
    Dentro alla Bin di ogni directory principale (jdk-10.0.2 e/o jre-10.0.2) vedo ci sono molti file .dll che mi sembrano esattamente uguali come nome.

    Spero di aver risposto al meglio e che tu riesca ad aiutarmi a rimettermi in pista.
    scusa per l'ignoranza, ma non ho trovato documentazione a supporto dell'istallazione.
    grazie
    Buona giornata.

    Moreno
    Immagini allegate Immagini allegate

  6. #6
    Quote Originariamente inviata da misonsan Visualizza il messaggio
    l'installazione di Eclipse mi ha creato in Programmi\java\ le sottocartelle
    jdk-10.0.2 e jre-10.0.2
    Eclipse ti ha installato JDK/JRE?? E da quando Eclipse installa pure quelli... (?)
    Cosa hai scaricato ed installato esattamente del Eclipse? Per caso hai preso il nuovo formato .exe di "installer"? E' una cosa nuova/recente che hanno messo, mai provato prima. Personalmente prendo sempre il pacchetto .zip del Eclipse. Unzippo dove mi pare e poi lancio il eclipse.exe. Stop, tutto qui. Chiaramente ho già un JDK (e anzi, pure più di uno!) sulla mia macchina.


    Quote Originariamente inviata da misonsan Visualizza il messaggio
    ti allego la situazione
    Riguardo gli Execution Environment, vedi sotto alla fine.

    Quote Originariamente inviata da misonsan Visualizza il messaggio
    non riesco a vedere dentro a Java compiler il riquadro JDK Compliance
    ti allego la situazione
    Devi cliccare proprio su "Java Compiler". La voce stessa è una pagina di configurazione. Poi se la espandi hai anche "sotto" ALTRE pagine di configurazione es. "Annotation Processing", "Building", ecc... Ma ripeto, è già "Java Compiler" una pagina di configurazione.

    Quote Originariamente inviata da misonsan Visualizza il messaggio
    Non ho competenze per scegliere.
    Hai solo un Java 10 (JDK+JRE) ... non c'è molto da scegliere.
    Usi Java 10.


    Quindi: quando crei un progetto Java (un normale "Java Project", non uno con Maven o altro), il wizard ti presenta tra le altre cose la scelta del JRE:

    +--- JRE ---------------------------------- - -
    | ( ) Use an execution environment JRE: [..scelta.. ˅]
    | (●) Use a project specific JRE: [..scelta.. ˅]
    | ( ) Use default JRE (currently xxxxxx)
    +------------------------------------------ - -

    Bene, scegli TU quello che vuoi. Ma è chiaro che se scegli un Execution environment, dovresti prima assicurarti che se scegli es. "JavaSE-10", che questo environment sia associato ad JRE "compatibile". Quindi di nuovo: menù Window --> Preferences --> sezione Java -> Installed JREs -> Execution Environments
    Altrimenti scegli il secondo o terzo.
    Ultima modifica di andbin; 13-09-2018 a 15:20
    Andrea, www.andbin.net – Senior Java developer – SCJP 5 (91%) – SCWCD 5 (94%)

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    26
    Ciao Andbin

    mi hai chiesto
    Eclipse ti ha installato JDK/JRE?? E da quando Eclipse installa pure quelli... (?)
    Cosa hai scaricato ed installato esattamente del Eclipse? Per caso hai preso il nuovo formato .exe di "installer"? E' una cosa nuova/recente che hanno messo, mai provato prima. Personalmente prendo sempre il pacchetto .zip del Eclipse. Unzippo dove mi pare e poi lancio il eclipse.exe. Stop, tutto qui. Chiaramente ho già un JDK (e anzi, pure più di uno!) sulla mia macchina.
    Ho installato Eclipse dal link che trovi in allegato

    Ho cancellato tutti i progetti che avevo iniziato ad abbozzare.
    I allegato ti metto la form di creazione nuovo progetto.

    Creano una classe visuale e andando in Design mi compare l'errore di incompatibilità.

    Ripeto, dopo installazione NON ho mai fatto nessun tipi di intervento su variabili ambiente, se mai se ne rendesse necessario.

    Mi sento imbarazzato a chiedertelo, ma forse potremmo risolvere velocissimamente il problema, magari con una connessione teamview.
    Potresti renderti conto immediatamente dei problemi esistenti e nel brevissimo (pochi minuti) potremmo chiudere questa situazione che penso sia pesante sia per te che per me.

    Vorrei rendermi autonomo rapidamente per poter procedere con lo sviluppo.
    Se pensi sia praticabile, sono a disposizione sempre giorno e notte.

    Grazie

    Moreno
    Immagini allegate Immagini allegate

  8. #8
    Quote Originariamente inviata da misonsan Visualizza il messaggio
    Ho installato Eclipse dal link che trovi in allegato
    Direi che hai preso il eclipse-inst-win64.exe quindi appunto il nuovo installer .exe. Nessun prob. Farà quel che farà ... evidentemente installa anche un JDK/JRE.

    Quote Originariamente inviata da misonsan Visualizza il messaggio
    Creano una classe visuale e andando in Design mi compare l'errore di incompatibilità.
    Il WindowBuilder come l'hai installato? NON è presente di serie in Eclipse, in nessuna delle varie pacchettizzazioni che io sappia?
    O per caso è già incluso in quel installer .exe?? Ripeto: MAI usato personalmente l'installer .exe. Prendo gli .zip e basta. Non ho esperienza diretta con il nuovo installer.

    E comunque, il messaggio della incompatibilità parla della compliance level e dice chiaramente "Use a lower level of Java".

    Quindi di nuovo: Proprietà Progetto -> Java Compiler -> riquadro "JDK Compliance"
    E prova ad abbassare il livello (es. a 1.8 ovvero Java 8). Per te che "inizi", Java 8, Java 9 o Java 10 non dovrebbero fare ALCUNA differenza.
    Andrea, www.andbin.net – Senior Java developer – SCJP 5 (91%) – SCWCD 5 (94%)

  9. #9
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    26

    Errore strano di Incompatibilità Java

    ciao Andbin

    Cerco di risponderti sperando di essere esaustivo.

    Il WindowBuilder come l'hai installato? NON è presente di serie in Eclipse, in nessuna delle varie pacchettizzazioni che io sappia?
    O per caso è già incluso in quel installer .exe?? Ripeto: MAI usato personalmente l'installer .exe. Prendo gli .zip e basta. Non ho esperienza diretta con il nuovo installer.
    opinione del tutto personale, ma ritengo quasi fuori dalla storia non inserire già nel pacchetto base di Eclipse il plug in di WindowBuilder (Creare applicazioni Console credo ormai sia solo dal punto di vista didattico, ma questo è un mio libero pensiero).
    Ad ogni modo opero come probabilmente si è sempre fatto e precisamente:
    Help \ Install New Software \ dalla combo selezionare Proton - Http://download/eclipse.org/releases/proton

    in allegato le dll installate


    Quindi di nuovo: Proprietà Progetto -> Java Compiler -> riquadro "JDK Compliance"
    E prova ad abbassare il livello (es. a 1.8 ovvero Java 8). Per te che "inizi", Java 8, Java 9 o Java 10 non dovrebbero fare ALCUNA differenza.
    Ho modificato il livello che originariamente era impostato a 10.
    L'ho portato a 1,8 come da allegato.
    fatto F5 per effettuare Refresh, poi per scrupolo chiuso e riaperto eclipse, ma tentando di aprire Design va sempre in errore di Incompatible Java Version.


    Mi vien sempre da proporti, per tagliare la testa al toro, una veloce connessione con TeamView.

    Buona serata.
    Ciao



    Moreno
    Immagini allegate Immagini allegate

  10. #10
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    26

    errore strano di incompatibilità Java

    Ciao Andrea

    Ho preso coraggio a due mani e ho disinstallato java e installato java 1.8
    Dopo aver ricaricato i progetti in eclipse funziona bene tutto.

    Ti ringrazio per l'appassionata assistenza.
    Come al solito avevi ragione.
    REra un problema di versioni.

    Grazie

    Buon fine settimana
    ciao

    Moreno

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2018 vBulletin Solutions, Inc. All rights reserved.