Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 22
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    26

    [JAVA] problema richiamo variabile Eclipse

    Ciao a tutti ho un problema con una variabile.
    Allora, io in Eclipse ho importato due progetti. Nel progetto 1) ho dichiarato una variabile che vorrei utilizzare nel progetto 2) ma mi da errore proprio perchè fa parte del progetto 1).

    Come si fa in Eclipse a rendere possibile questa cosa? Cioè, nel progetto 2) dovrei inserire un qualche riferimento al progetto 1) ma non so come fare.

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    181
    In poche parole nel progetto due devi richiamare una variabile o un metodo del progetto 1? Bhe...creati il jar, poi lo importi come libreria nel progetto due ed il gioco è fatto.

  3. #3
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802

    Re: [JAVA] problema richiamo variabile Eclipse

    Originariamente inviato da gino25
    Ciao a tutti ho un problema con una variabile.
    Allora, io in Eclipse ho importato due progetti. Nel progetto 1) ho dichiarato una variabile che vorrei utilizzare nel progetto 2) ma mi da errore proprio perchè fa parte del progetto 1).

    Come si fa in Eclipse a rendere possibile questa cosa? Cioè, nel progetto 2) dovrei inserire un qualche riferimento al progetto 1) ma non so come fare.
    Aggiungi progetto1 al build path di progetto2. Guarda tra le proprietà di progetto2.
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    26
    ho provato proprio ora a caricare il file .jar della libreria (mysql-connector-java-bin.jar), che avevo già fatto nel progetto 1), anche nel progetto 2) ma non ho risolto.
    a questo punto ho provato anche ad andare nelle proprietà del progetto 2) ed aggiungere il progetto 1) al build path ma neanche così ho risolto, cioè se uso la variabile mi esce come errore che "nomedellaclassedelprogetto1 cannot be resolved".

    Non riesco proprio a risolverlo questo problema.

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    1. sul progetto 2 setta come dipendenza il progetto 1 (da java build path)
    2. fai una clean di tutti i progetti (di conseguenza eclipse farà una build aggiornandosi i riferimenti)
    3. controlla la "visibilità" della variabile: è protected, private o non hai messo nessun modificatore? In quel caso non la vedrai MAI in progetto 2

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    26
    Originariamente inviato da valia
    1. sul progetto 2 setta come dipendenza il progetto 1 (da java build path)
    Cioè nelle proprietà del progetto 2 devo mettere, sotto la voce Projects di Java Build Path, il progetto 1. giusto? che poi sarebbe quello che ho fatto prima.

    2. fai una clean di tutti i progetti (di conseguenza eclipse farà una build aggiornandosi i riferimenti)
    scusa per la domanda stupida. cosa vuol dire fare un clean? ho iniziato da poco a utilizzare eclipse e sono ancora un po' imbranato.

    3. controlla la "visibilità" della variabile: è protected, private o non hai messo nessun modificatore? In quel caso non la vedrai MAI in progetto 2
    prima ho detto che si trattava di una variabile, mi sono sbagliato. è una costante e l'ho dichiarata come public quindi non dovrebbero esserci problemi.

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    Insomma funziona o no?

    Il motivo per cui sconsiglio l'uso di eclipse è questo: dai una ferrari a chi a malapena sa guidare.

    In generale tu puoi sviluppare un'applicazione che fa determinati mestieri, puoi anche creare una serie di classi che sono "generiche" e che puoi usare in diverse applicazioni (compresa la tua): hai creato una libreria. In java la libreria viene in genere distribuita tramite jar file.
    Ovviamente devi ricordarti di includere la libreria che hai creato nel build path della tua applicazione altrimenti il compilatore dove va a prendersi le cose che non ha?

    In tutto questo eclipse ti semplifica la vita dicendo che puoi collegare i sorgenti di un progetto ad un altro (quello che ti hanno consigliato di fare) in modo da vedere le cose da entrambi i posti. Ovviamente devi sapere dove farlo (e la finestrella java build path te lo indica).

    Puoi includere, dallo stesso menu, un jar esterno. Puoi anche fare tutto a manina imparando quali sono le opzioni del compilatore (cosa che male non fa).

    Parlando di clean e di strumenti vari, sai che ad ogni compilazione vengono compilate solo le modifiche, le classi invariate non vengono ricompilate. Ma se devi aggiornare riferimenti è bene forzare la compilazione di tutto, cosa che fai con una clean seguita da una compilazione. Saprai che su eclipse c'è la compilazione automatica dopo ogni save (cosa che a me non piace), sai anche che la compilazione riguarda solo le classi modificate (le altre per ottimizzare restano invariate), per cui ogni tanto si fa una clean del progetto, in modo da forzare la compilazione dell'intero progetto e da aggiornare i collegamenti. questo se guardi tra i menu project c'è anche il tasto clean ed è quello che intendo con fare una clean.

    queste sono cose che dovresti sapere indipendentemente da eclipse, l'IDE ti fa sfruttare meglio le cose che già hai.

    parlando di visibilità, la tua è una costante definita in una classe pubblica??e come l'hai definita?

  8. #8
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    26
    Allora, ho impostato nel build path del progetto 2) (quello dove ho il problema) il progetto 1) (quello dove è dichiarata la costante).
    Successivamente ho effettuato un clean di entrambi i progetti e ho controllato anche la costante che è dichiarata public in una classe che è dichiarata public.

    In ogni caso il problema è rimasto e dal momento in cui mi dice "nomedellaclassedelprogetto1 cannot be resolved" credo sia proprio un problema di visibilità ma è strano perchè la costante è dichiarata public e il progetto 1) è stato appunto "importato" nel progetto 2) che dovrebbe appunto vederlo.

    Cosa mi consigliate di fare?

  9. #9
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    ripeto la domanda, la tua costante è in una classe dichiarata PUBLIC??
    Hai scritto bene il nome (e i vari import)??

  10. #10
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    26
    la costante è dichiarata public in una classe che è dichiarata public.
    ho appena ricontrollato il nome della classe che contiene la costante e anche il nome della costante stessa e mi sembrano corretti ma continua a non vederli dando appunto l'errore che dicevo nel post prima.

    quando parli dei vari import a quali ti riferisci? a quelli della classe che contiene diciamo la chiamata alla costante e quelli della classe dove si trova la costante? te lo chiedo perchè ho controllato anche quelli e mi sembrano scritti correttamente.

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 © 2025 vBulletin Solutions, Inc. All rights reserved.