Problema con "enum" e "import" in eclipse

di il
3 risposte

Problema con "enum" e "import" in eclipse

Salve a tutti, sto provando a imparare a programmare in java, quindi sono ancora un principiante. Sarei lieto se qualcuno potesse darmi una dritta per risolvere il problema che vi esplicherò a breve.
Stavo scrivendo il seguente codice in eclipse:

import java.awt.Color;

enum tipiTratto {fine, medio, normale, forte};
public class Figure {
Color penna= Color.black;
tipiTratto spessore= tipiTratto.normale;

ovviamente dovevo ancora completare, ma mi sono reso conto che mi dava un errore con "enum", ho provato ad alzare di livello il jre fino a 1.6, ed enum adesso non da più l'errore, ma stranamenteadesso non funziona import che mi da il seguente messaggio di errore:
Multiple markers at this line
- The type java.io.ObjectInputStream cannot be resolved. It is indirectly referenced from
required .class files
- The type java.io.ObjectInputStream cannot be resolved. It is indirectly referenced from
required .class files.
Ho allegato 2 immagini, una che mostra dove ho cambiato il jre e una che mostra l'attuale errore che mi da import.
Grazie per il vostro eventuale aiuto, non so cosa ho combinato.
https://www.iprogrammatori.it/forum-programmazione/download/file.php?mode=view&id=3817
https://www.iprogrammatori.it/forum-programmazione/download/file.php?mode=view&id=3816
Allegati:
28826_7c4a47750faced25d219da33ab671de1.png
28826_7c4a47750faced25d219da33ab671de1.png

28826_e2228ba3a89ee95690bf5e980e308207.png
28826_e2228ba3a89ee95690bf5e980e308207.png

3 Risposte

  • Re: Problema con "enum" e "import" in eclipse

    Fulmine98 ha scritto:


    mi sono reso conto che mi dava un errore con "enum", ho provato ad alzare di livello il jre fino a 1.6, ed enum adesso non da più l'errore
    Le enum esistono da Java 5 (1.5)

    Fulmine98 ha scritto:


    ma stranamenteadesso non funziona import che mi da il seguente messaggio di errore:
    Multiple markers at this line
    - The type java.io.ObjectInputStream cannot be resolved. It is indirectly referenced from
    required .class files
    - The type java.io.ObjectInputStream cannot be resolved. It is indirectly referenced from
    required .class files.
    Non dovrebbe capitare, nel senso che ObjectInputStream in quel contesto non c'entra proprio niente. Potrei solo presumere che ci sia qualcosa di "corrotto" da qualche parte (JDK/JRE, IDE, progetto ...). Una possibile verifica è provare a compilare le classi da prompt dei comandi con il javac del JDK (se ne hai uno installato).

    Dovresti comunque precisare quale Eclipse hai (Help -> About Eclipse IDE) e quale/i JDK/JRE hai visibili in Eclipse (Preferences poi la sezione "Installed JREs").
  • Re: Problema con "enum" e "import" in eclipse

    andbin ha scritto:


    Fulmine98 ha scritto:


    mi sono reso conto che mi dava un errore con "enum", ho provato ad alzare di livello il jre fino a 1.6, ed enum adesso non da più l'errore
    Le enum esistono da Java 5 (1.5)


    Fulmine98 ha scritto:


    ma stranamenteadesso non funziona import che mi da il seguente messaggio di errore:
    Multiple markers at this line
    - The type java.io.ObjectInputStream cannot be resolved. It is indirectly referenced from
    required .class files
    - The type java.io.ObjectInputStream cannot be resolved. It is indirectly referenced from
    required .class files.
    Non dovrebbe capitare, nel senso che ObjectInputStream in quel contesto non c'entra proprio niente. Potrei solo presumere che ci sia qualcosa di "corrotto" da qualche parte (JDK/JRE, IDE, progetto ...). Una possibile verifica è provare a compilare le classi da prompt dei comandi con il javac del JDK (se ne hai uno installato).

    Dovresti comunque precisare quale Eclipse hai (Help -> About Eclipse IDE) e quale/i JDK/JRE hai visibili in Eclipse (Preferences poi la sezione "Installed JREs").
    Salve, grazie per la risposta. Possiedo Eclipse IDE for Java Developers, version: Helios Service Release 1. In preference, il JREs visibile è jre1.8.0_261, type: Standard VM. Ho provato a compilare da command prompt la classe Main ed il risultato è stato il seguente:

    C:\Users\ROMBO DI TUONO\workspace\JavaOOP\bin>java Main
    Exception in thread "main" java.lang.Error: Unresolved compilation problem:
    The type java.io.ObjectInputStream cannot be resolved. It is indirectly referenced from required .class files

    at Figure.<init>(Figure.java:1)
    at Rettangolo.<init>(Rettangolo.java:9)
    at Quadrato.<init>(Quadrato.java:6)
    at Main.main(Main.java:63)
    Se provo ad eseguire le altre classi il risultato è questo:

    Errore: il metodo principale non è stato trovato nella classe Quadrato. Definire il metodo principale come:
    public static void main(String[] args)
    altrimenti una classe applicazione JavaFX deve estendere javafx.application.Application.

    Ma quest'ultimo credo sia normale visto che il metodo principale si trova nella classe Main appunto.

    Non so se possa essere utile, ho verificato da command prompt se java è installato correttamente:
    C:\WINDOWS\system32>javac -version
    javac 1.8.0_181

    C:\WINDOWS\system32>java -version
    java version "1.8.0_261"
    Java(TM) SE Runtime Environment (build 1.8.0_261-b12)
    Java HotSpot(TM) Client VM (build 25.261-b12, mixed mode)

    Quindi non credo ci siano problemi sotto questo punto di vista.
    Ho provato a cancellare la classe "Figure" e a ricrearla, ho potuto constatare che import da problemi solo se inserisco anche enum subito dopo. Strano
  • Re: Problema con "enum" e "import" in eclipse

    Fulmine98 ha scritto:


    Possiedo Eclipse IDE for Java Developers, version: Helios Service Release 1. In preference, il JREs visibile è jre1.8.0_261, type: Standard VM.
    Ho fatto bene a chiederlo e hai fatto bene a chiarirlo. Ebbene, il Eclipse "Helios" è troppo vecchio (del 2010)!! E non va bene.



    Il supporto a Java 8 è stato introdotto solo nel Eclipse "Luna" (del 2014) o nella versione precedente, Kepler, ma solo tramite patch. Pertanto non puoi continuare in quel modo.

    Fulmine98 ha scritto:


    Ho provato a compilare da command prompt la classe Main ed il risultato è stato il seguente:

    C:\Users\ROMBO DI TUONO\workspace\JavaOOP\bin>java Main
    In realtà quello che hai fatto NON è compilare da prompt ma solamente eseguire i .class generati da Eclipse (che forse sono "cannati").
    E da quanto hai detto, hai solo un JRE sul tuo PC. Che va bene di per sé per Eclipse (lui ha un suo compilatore Java interno) ma se vuoi sviluppare in Java, è bene che tieni sempre sulla tua macchina almeno un JDK.
Devi accedere o registrarti per scrivere nel forum
3 risposte