Pigna ha scritto:
perchè una classe compilata con EJE non funziona con il comando java cartella.nomeclasse?
L'ho detto prima (ma lo dico meglio ora): EJE compila sicuramente con le
feature-preview attivate.
Già da alcune release (dalla 12 se non sbaglio), Oracle inserisce nelle varie versioni delle
feature-preview, sono delle nuove funzionalità (tipicamente del linguaggio in sé) che sono fornite in "anteprima". Sono funzionalità complete, cioè pienamente funzionanti ma non sono ancora confermate/permanenti. A seconda dei feedback che Oracle riceve, potrebbe (condizionale d'obbligo!) decidere in una successiva release di RIMUOVERE quelle feature o magari modificarle leggermente.
Quindi se uno vuole usarle, lo fa come si dice "a suo rischio e pericolo", almeno finché non vengono confermate e rese stabili in una successiva release.
Le
feature-preview vanno attivate esplicitamente in fase di compilazione
E in fase di esecuzione (per la compilazione si deve specificare anche la release, perché attiva
quelle sue feature).
Quindi ad esempio:
javac --enable-preview --release 14 xyz\BlaBla.java
java --enable-preview xyz.BlaBla
Quindi le cose sono due:
- se compili da EJE così come è impostato, usi da prompt --enable-preview al comando java
- togli da EJE (non so come, non lo conosco..) l'abilitazione delle
feature-preview