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

    Errore in JAVA 7

    Buon giorno a tutti, sto studiando il libro Java 7 edito da Apogeo ed ho il seguente problema quando cerco di creare una classe:

    Time_Client.java:7: error: cannot find symbol
    Time t = new Time();
    ^
    symbol: class Time
    location: class Time_Client

    Time_Client.java:7: error: cannot find symbol
    Time t = new Time();
    ^
    symbol: class Time
    location: class Time_Client
    2 error

    con questo comando: javac -d c:\my_java_classes Time_Client.java
    sono posizionato in c:\my_java_sources

    di seguito il sorgente del Time_Client.java e del Time.java
    -------------------------------------------------------------------------------
    package com.pellegrinoprincipe;

    public class Time_Client
    {
    public static void main(String[] args)
    {
    Time t = new Time(); // istanza di Time

    System.out.println("Time con i valori di default: " + t.getTime());
    t.setTime(14, 30, 56); // imposto nuovi valori per un tempo
    System.out.println("Time con i valori impostati: " + t);
    }
    }
    ---------------------------------------------------------------------------------
    package com.pellegrinoprincipe;

    public class Time extends Object
    {
    // variabili di istanza private
    private int ora;
    private int minuti;
    private int secondi;

    public Time() // costruttore
    {
    ora = minuti = secondi = 0;
    }
    public void setTime(int o, int m, int s) // metodo per impostare un tempo
    {
    ora = (o < 24 && o >= 0) ? o : 0;
    minuti = (m < 60 && m >= 0) ? m : 0;
    secondi = (s < 60 && s >= 0) ? s : 0;
    }
    public String getTime() // metodo per ottenere un tempo
    {
    return ora + ":" + minuti + ":" + secondi;
    }
    public String toString() // stampa una rappresentazione leggibile di un oggetto Time
    {
    return "Orario corrente: " + getTime();
    }
    }
    ---------------------------------------------------------------------------------

    Time.java è già stato compilato e le classi Time.Class e t.class sono state create e correttamente posizionata in c:\my_java_classes\com\pellegrinoprincipe

    ---------------------------------------------------------------------------------

    Se ho omesso qualcosa che possa aiutarvi a consigliarmi sulla soluzione del problema chiedete.

    Grazie a tutti

  2. #2
    Quegli errori credo escano perchè non trova le classi Time, forse devi importare qualcosa?

  3. #3
    Grazie Celtico,
    ma è proprio questo il punto, perchè non la trova, cosa manca nel sorgente, perchè forse la chiave è nel sorgente, infatti se compilo dalla directory "my_java_classes" con il comando
    javac c:\my_java_sources\Time_Client.java
    la classe viene creata ma non in com\pellegrinoprincipe, ma in
    c:\my_java_sources
    e così non va bene

  4. #4
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Originariamente inviato da MaurizioConte
    Grazie Celtico,
    ma è proprio questo il punto, perchè non la trova, cosa manca nel sorgente, perchè forse la chiave è nel sorgente, infatti se compilo dalla directory "my_java_classes" con il comando
    javac c:\my_java_sources\Time_Client.java
    la classe viene creata ma non in com\pellegrinoprincipe, ma in
    c:\my_java_sources
    e così non va bene
    Le classi Time e Time_Client si trovano nel package com.pellegrinoprincipe QUINDI i file Time.java e Time_Client.java DEVONO trovarsi nella cartella BLABLABLA/com/pellegrinoprincipe/ e per compilare ti devi posizionare in BLABLABLA

    edit: java avrebbe una sezione dedicata
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  5. #5
    Ciao Alez e grazie inanzitutto

    FYI io ci sono riuscito, già prima di aprire questa discussione, mettendo solo il Time_Client.java nella dir dove si trova la classe Time, ma penso ci sia una SOLUZIONE CHE PERMETTA DI TENERE I FILE .JAVA IN UNA DIRECTORY CHE NON DEBBA PER FORZA ESSERE QUELLA DEI FIEL .CLAS.

    Penso ioltre che forse il problema è nel mettere i paramentri corretti nel comando javac.

  6. #6
    Utente bannato
    Registrato dal
    Apr 2012
    Messaggi
    510
    A javac gli devi passare l' opzione -classpath, seguita dal nome dove si trova la directory.
    Se usi un IDE come NetBeans (c'è nel CD di che trovi insieme al libro) puoi includere il classpath nelle opzioni, oppure aggiungere un JAR esterno al progetto.

  7. #7
    Buon giorno Who

    correttissimo ho fatto

    c:\MY_JAVA_SOURCES>javac -classpath c:\my_java_classes Time_Client.java

    e funziona, l'unica cosa che il Time_Client.class viene generato nella directory MY_JAVA_SOURCES invece che nella directory package ovvero
    C:\MY_JAVA_CLASSES\COM\PELLEGRINOPRINCIPE
    è possibile nei vari paramertri del compilatore(javac) dare anche un percorso del .class ? nel decompilato cmq c'è indicato il package

    Grazie

  8. #8
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Originariamente inviato da MaurizioConte
    è possibile nei vari paramertri del compilatore(javac) dare anche un percorso del .class ?
    -d mi pare
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  9. #9
    HO RISOLTO

    Ha risposto ad una mia e-mail direttamente l'Autore del libro
    Pellegrino Principe



    Prima possibilità:

    dalla cartella C:\MY_JAVA_SOURCES dovranno essere presenti i file Time.java e Time_Client.java:

    javac -d c:\MY_JAVA_CLASSES Time.java Time_Client.java


    Seconda possibilità:

    sempre dalla dir c:\MY_JAVA_SOURCES, potrebbe scrivere:

    javac -classpath c:\MY_JAVA_CLASSES -d c:\MY_JAVA_CLASSES Time_Client.java





    CIAO E GRAZIE A TUTTI ( alla prossima )

    NOTA:
    Quando si risolvono i problemi pubblicare sempre le soluzioni trovate.
    ( vedi erpupico1 semopre su HMTL dell'agosto 2011 - stessa richiesta di aiuto della mia -
    qui però ho indicato come ho risolto )

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.