PDA

View Full Version : [Java] Problema con Eclipse e import


luxorl
18-12-2007, 17:20
Ciao a tutti,
sto lavorando ad un progetto e sto usando eclipse.
Ora sono arrivato ad un punto in cui una mia classe deve estendere una classe che si trova in C:\is\fsm...
Con il magico textpad bastava fare un semplice import is.fsm.*; (perchè ho il classpath dell'SO settato su c: )
Ora però in Eclipse questo non funge (avrà un suo classpath?) allora aggiungo a mano la cartella tramite:

proprietà--->java build path-->libreries--->add class folder

Il package mi compare nella struttura a sx, se scrivo prima "extends FSM" eclipse mi segnala l'errore e aggiunge in automatico l'import is.fsm.FSM; però poi segna come errore la sua stessa aggiunta... posto uno screen così si capisce di più:

http://img69.imageshack.us/img69/6812/eclipsego7.jpg

Non è strana come cosa? cioè riesce a fare l'import da solo, quindi riconosce la classe FSM però poi lo segna errato :confused:

Mixmar
18-12-2007, 17:42
Clicca sul nome del progetto e lancia "Aggiorna": se ancora non funziona, cancella la riga "import", va sul nome della classe da estendere col cursore (cioè, sulla parola "FSM" nel tuo screenshot) e premi Ctrl-1: dovrebbe darti un suggerimento per risolvere l'errore, prova a seguirlo.

luxorl
18-12-2007, 17:55
Clicca sul nome del progetto e lancia "Aggiorna": se ancora non funziona, cancella la riga "import", va sul nome della classe da estendere col cursore (cioè, sulla parola "FSM" nel tuo screenshot) e premi Ctrl-1: dovrebbe darti un suggerimento per risolvere l'errore, prova a seguirlo.

Facendo aggiorna niente.
Il mio screen postato prima è stato fatto dopo aver seguito il metodo da te consigliato:

1)http://img160.imageshack.us/img160/6931/eclipse2yb6.jpg

2)http://img69.imageshack.us/img69/6812/eclipsego7.jpg

Per questo la cosa mi sembra proprio strana! Fa lui l'import e poi lo segna come sbagliato!! :muro:

franksisca
18-12-2007, 21:15
pozzi poetroliferi by nigro hihihihih


brutal mode on:

copia la cartella finitestatemachine FSM nel package pozzi.....

isAlreadyInUse
18-12-2007, 21:28
Controlla il manifest del jar

luxorl
18-12-2007, 23:53
Controlla il manifest del jar

Non c'è nessun jar e nessun manifest :)
Eclipse sux mi sa... :rolleyes:

mad_hhatter
19-12-2007, 00:17
da quanto mi par di capire, tu importi una cartella contenente dei .class, lui importa il package is.fsm.FSM, ma tale package NON ESISTE: esiste infatti il package fsm contenuto nella cartella is (il che è diverso).

hai provato a vedere che succede se scrivi import fsm.FSM invece di is.fsm.FSM?

luxorl
19-12-2007, 07:38
da quanto mi par di capire, tu importi una cartella contenente dei .class, lui importa il package is.fsm.FSM, ma tale package NON ESISTE: esiste infatti il package fsm contenuto nella cartella is (il che è diverso).

hai provato a vedere che succede se scrivi import fsm.FSM invece di is.fsm.FSM?

Ok, così va! Grazie :)
Da quanto ho capito la cosa giusta è non importare la cartella superiore "is" contenente tutti i package, se no eclipse "sgarra", ma importare ad una ad una tutte le cartelle package come "fsm", "forno" e "timer".

luxorl
21-12-2007, 16:11
Sapete dirmi qualcosa su questo errore?
http://img88.imageshack.us/img88/5879/eclipse3dp3.jpg

Lo riporta solo là, infatti nella struttura ad albero a sinistra la classe SistemaPozzi non è con la x rossa! :mbe:

isAlreadyInUse
21-12-2007, 16:35
Non è che sono stati compilati con una divrsa jdk?

mad_hhatter
21-12-2007, 16:52
Non è che sono stati compilati con una divrsa jdk?

non credo sia quello il problema... eclipse continua a cercare il tipo is.fsm.FSM, ma il tipo corretto è fsm.FSM

luxorl
21-12-2007, 19:39
Mah... fosse per me farei tutto in TextPad :D

luxorl
29-12-2007, 11:03
Risolto!!
Posto qui la soluzione casomai possa servire a qualcuno.
Allora il problema stava nel fatto che nelle classi java importate (quindi FSM e State) il package era: "is.fsm"
Quindi facendo import "fsm.FSM" eclipse non riusciva a risolvere il package.
E se si importa direttamente la cartella is/fsm dentro il progetto eclipse non riesce comunque a risolvere nemmeno l'import "is.fsm.FSM".
In pratica per risolvere ho dovuto ficcare is/fsm in una cartella (che ho chiamato per esempio import) e ho importato nel mio progetto il path a partire da questa nuova cartella.
Conseguenza, si può tranquillamente fare "import is.fsm.*;" e eclipse non impazzisce. :D

http://img341.imageshack.us/img341/7259/eclipse3pj6.jpg

Vedete? Ora eclipse a differenza di prima (guardate le vecchie immagini) mette is.fsm come package e non solo fsm. In poche parole bisogna importare a partire da una cartella superiore al package.

dupa
29-12-2007, 11:16
Vedete? Ora eclipse a differenza di prima (guardate le vecchie immagini) mette is.fsm come package e non solo fsm. In poche parole bisogna importare a partire da una cartella superiore al package.

Ipotizzo si debba importare a partire dalla root dei package.

se hai

com.pippo.pluto.papertino

avrai dir

com/pippo/pluto/papertino

e devi importare dalla base del percorso

luxorl
29-12-2007, 13:06
Ipotizzo si debba importare a partire dalla root dei package.

se hai

com.pippo.pluto.papertino

avrai dir

com/pippo/pluto/papertino

e devi importare dalla base del percorso

il mio package è is.fsm
se importo a partire da is/fsm eclipse va in crisi.
Per risolvere ho dovuto importare da una cartella superiore. (cartella/is/fms)