Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [JAVA] - package ed eclipse

    Salve a tutti!!
    scusate per il titolo un pò generico.

    Comunque da niubbo del java sto cercando di capire alcune cose.
    Partiamo dal presupposto che io abbia un progetto che mi chiede di creare un registratore di cassa. Per farlo, utilizzo tre classi, CashRegister, Coin e CashRegisterRunner.
    Di default eclipse inserisce queste classi in un pacchetto senza nome, che penso sia all'interno di "NomeProgetto\src .

    Mettiamo che io voglia inserire la classe Coin in un pacchetto chiamato money.

    Allora vado nella classe coin e come prima riga digito
    codice:
    package money
    Qui eclipse mi dà un errore, perchè si aspetta che la classe sia nel pacchetto di default. Per rimediare faccio doppio clic sulla x rossa di lato e accetto il suggerimento di creare una nuova cartella chiamata money.
    Prima domanda: non posso ovviare a quest'errore in qualche altro modo? digitando, che so, package [...].money?

    A questo punto, accettando il suggerimento, le altre due classi che dipendono da Coin non sapranno più dove andare a trovare quella classe.
    Seconda domanda: come faccio ora ad importare la classe appena creata? Se digito import money, ovviamente, mi dà un errore: cosa dovrò digitare prima di money?

    Terza domanda: come faccio ora ad eseguire il file dal prompt dos? In quale cartella dovrò posizionarmi e che comandi dovrò dare? Qualcosa come javac money\Coin.java e poi java money\Coin?

    Grazie a tutti per la disponibilità e le risposte


  2. #2
    Ciao tigerjack89,
    Prima di tutto ti consiglio di studiardi un buon libro di java, l'uso dei package è un aspetto al quanto basilare per questo liguaggio.
    Prima domanda: non posso ovviare a quest'errore in qualche altro modo? digitando, che so, package [...].money?
    Un package è una cartella (albero di cartelle) fisiche sul disco fisso, l'unico modo per ovviare a questo problema in eclipse è specificare il package durante la creazione della classe.
    Seconda domanda: come faccio ora ad importare la classe appena creata? Se digito import money, ovviamente, mi dà un errore: cosa dovrò digitare prima di money?
    Basta mettere subito dopo la dichiarazione del package; la parola chiava "import" seguita dal nome completo della classe. Il nome completo di una classe è dato dal nome del package + nome della classe; Seguendo il tuo esempio dovrai inserire il seguente import nella classi che usano Coin : import money.Coin;
    Terza domanda: come faccio ora ad eseguire il file dal prompt dos? In quale cartella dovrò posizionarmi e che comandi dovrò dare? Qualcosa come javac money\Coin.java e poi java money\Coin?
    ti posizione nella root delle classi,in eclipse è la cartella bin ed esegui il comando java -cp .; <nome-completo-classe-main>. Dove <nome-completo-classe-main> è il nome del package + il nome della classe che contiene il metodo main. Per esempio se il main è contenuto nella tua classe "Coin" allora il comando sara :
    codice:
    java -cp .; money.Coin
    Ciao.

  3. #3
    Originariamente inviato da francesco.muia
    ...
    Ciao.
    Grazie mille per le tue delucidazioni, ora è tutto più chiaro
    Un'ultima cosa: il comando java -cp .; a che serve?
    Da quello che ho capito in precedenza dovrebbe creare una nuova variabile d'ambiente (se mi spieghi anche il significato di queste variabili d'ambiente te ne sarei molto grato XD) nel classpath, dicendo di riferirsi alla cartella corrente.
    Se invece a questo punto dovessi compilare un file *.java, qual è il comando da inserire? Penso che non dovrò più usare javac <NomeClasse>.java, giusto??

  4. #4
    Ciao tigerjack89,
    Il comando cp (classpath) è l'opzione per settare il classpath per il comando java, non viene creata una variabile d'ambiente ma bensi si dice al comando java dove trovare le classi o i sorgenti su cui lavorare. Per quanto riguarda la compilazione devi usare la classe
    codice:
    javac -classpath .; *.java
    Il punto serve che vede al classpath serve a riferirsi alla cartella corrente, ovvimente questo puo essere settato anche un percorso assoluto.
    Spero di essere stato chiaro.

  5. #5
    Originariamente inviato da francesco.muia
    Ciao tigerjack89,
    Il comando cp (classpath) è l'opzione per settare il classpath per il comando java, non viene creata una variabile d'ambiente ma bensi si dice al comando java dove trovare le classi o i sorgenti su cui lavorare. Per quanto riguarda la compilazione devi usare la classe
    codice:
    javac -classpath .; *.java
    Il punto serve che vede al classpath serve a riferirsi alla cartella corrente, ovvimente questo puo essere settato anche un percorso assoluto.
    Spero di essere stato chiaro.
    Chiarissimo, parecchie nebbie iniziano a diradarse XD

    Grazie mille per l'aiuto!!


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.