Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2013
    Messaggi
    11

    Compilare File Java Su Terminale

    Salve a tutti,
    ho un problema quando compilo dei file in java dal terminale. Il mio progetto consiste in una simulazione elettorale ed è composto da 3 package:

    -Ministero
    -Seggio
    -Terminale

    per avviare il progetto devo compilare il file MinisteroImpl.java dentro Ministero, poi il file AvviaSeggi.java dentro Seggio e infine il file Terminale.java dentro Terminale

    Quando compilo il primo file mi da questo errore:

    C:\>cd electionday\electionday\src\Ministero

    C:\electionday\electionday\src\Ministero>javac MinisteroImpl.java
    MinisteroImpl.java:7: error: package Terminale does not exist
    import Terminale.IVoto;
    ^
    MinisteroImpl.java:25: error: cannot find symbol
    public class MinisteroImpl extends UnicastRemoteObject implements IMinistero{
    ^
    symbol: class IMinistero
    MinisteroImpl.java:27: error: cannot find symbol
    private static Evento v = null;
    ^
    symbol: class Evento
    location: class MinisteroImpl
    MinisteroImpl.java:91: error: cannot find symbol
    public synchronized void registraVoto(IVoto voto) throws RemoteException {
    ^
    symbol: class IVoto
    location: class MinisteroImpl
    MinisteroImpl.java:44: error: cannot find symbol
    v = new Evento(idEvento);
    ^
    symbol: class Evento
    location: class MinisteroImpl
    MinisteroImpl.java:53: error: cannot find symbol
    new ThreadCheckAffluenza();
    ^
    symbol: class ThreadCheckAffluenza
    location: class MinisteroImpl
    MinisteroImpl.java:62: error: method does not override or implement a method fro
    m a supertype
    @Override
    ^
    MinisteroImpl.java:70: error: method does not override or implement a method fro
    m a supertype
    @Override
    ^
    MinisteroImpl.java:78: error: method does not override or implement a method fro
    m a supertype
    @Override
    ^
    MinisteroImpl.java:86: error: method does not override or implement a method fro
    m a supertype
    @Override
    ^
    MinisteroImpl.java:106: error: cannot find symbol
    System.setProperty("java.security.policy", IMinistero.class.getResou
    rce("java.policy").getPath());
    ^
    symbol: class IMinistero
    location: class MinisteroImpl
    MinisteroImpl.java:108: error: cannot find symbol
    datiServerMI.load(IMinistero.class.getResourceAsSt ream("DatiServerMI
    .properties"));
    ^
    symbol: class IMinistero
    location: class MinisteroImpl
    Note: MinisteroImpl.java uses unchecked or unsafe operations.
    Note: Recompile with -Xlint:unchecked for details.
    12 errors


    Potete risolvere questo problema? Grazie in anticipo per la risposta.

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,280

    Re: Compilare File Java Su Terminale

    Originariamente inviato da vurp2013
    ho un problema quando compilo dei file in java dal terminale. Il mio progetto consiste in una simulazione elettorale ed è composto da 3 package
    Se ci sono package di mezzo, allora dovresti:

    • stare nella directory che contiene i package "radice", quindi:
      cd electionday\electionday\src
    • compilare con:
      javac Ministero\MinisteroImpl.java
      javac
      ....
      ....blabla....
    • e cosa importante, in classpath ci deve essere la directory "src". Se non hai la variabile di ambiente CLASSPATH, il default è "." (ovvero directory corrente). Se hai la variabile CLASSPATH, allora in un modo o nell'altro (relativo o assoluto) la src deve risultare "in classpath".



    Se hai svariati sorgenti e in diversi package, considera l'eventualità di passare a strumenti di build come Ant o Maven.

    P.S. se compili solo così, comunque, i file .class te li ritrovi allineati vicino ai rispettivi .java. Generalmente questa non è una buona cosa. Si preferisce di norma separare i sorgenti dai compilati e questo si può fare usando una opzione di javac ma ciascun comando si complicherebbe un pochino e a maggior ragione per questo motivo è preferibile Ant o Maven.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2013
    Messaggi
    11
    ciao grazie per la risposta. In effetti i file .class si trovano insieme ai file .java. Nelle variabili d' ambiente nel classpath ho aggiunto la directory src, e avevo inserito anche la directory della jdk di java fino alla cartella bin. Per quanto riguarda Maven o Ant sinceramente non ne avevo sentito parlare fino ad ora. Io uso come software per programmare NetBeans, posso separare i file direttamente con questo programma oppure serve scaricare questi che mi ha detto tu? se mi puoi dire anche come funzionano questi programmi. Grazie.

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,280
    Originariamente inviato da vurp2013
    Nelle variabili d' ambiente nel classpath ho aggiunto la directory src
    Se in CLASSPATH hai messo il percorso "assoluto" alla src, ok, bene, meglio ancora.

    Originariamente inviato da vurp2013
    e avevo inserito anche la directory della jdk di java fino alla cartella bin.
    La "bin" del JDK va nella variabile PATH (nota: non CLASSPATH)

    Originariamente inviato da vurp2013
    Io uso come software per programmare NetBeans
    Allora non avresti, in linea di massima, bisogno di compilare "a mano" (se non per cose particolari o fatte al volo e/o con altro semplice editor).

    Originariamente inviato da vurp2013
    se mi puoi dire anche come funzionano questi programmi.
    Ant e Maven non si possono "spiegare" in un breve post. Ci sono moltissime risorse e tutorial in rete.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2013
    Messaggi
    11
    Si ho trovato una guida e la sto seguendo e penso di aver installato bene maven. Siccome devo per forza avviare il progetto tramite terminale, non riesco a capire come integrare Maven con NetBeans. Sai dove posso trovare una guida ??

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,280
    Originariamente inviato da vurp2013
    Si ho trovato una guida e la sto seguendo e penso di aver installato bene maven. Siccome devo per forza avviare il progetto tramite terminale, non riesco a capire come integrare Maven con NetBeans. Sai dove posso trovare una guida ??
    Innanzitutto Maven è basato su tutta una serie di "convenzioni", la prima tra tutte: la struttura delle directory nel progetto. E inoltre si basa su un file pom.xml che descrive il progetto, questo file è il programmatore che lo scrive, in genere a mano ma con un IDE ci possono essere wizard e/o editor appositi.

    Per le guide: http://maven.apache.org/guides/

    NetBeans supporta nativamente Maven, non c'è bisogno di scaricare plugin o fare chissà che cosa. Però non conosco/uso NetBeans, quindi non ti so dire la procedura esatta per creare o importare un progetto Maven.

    P.S. Maven non va bene per "tutti i progetti Java". Va bene per quei progetti in cui puoi "allinearti" alle sue convenzioni e in cui le fasi di build non richiedono step troppo particolari o fuori dal comune.

    Ant è più semplice: nel senso che non ha/impone alcuna "convenzione". Nel file build.xml di Ant devi scrivere tu esattamente quali sono le fasi di build, in che ordine di dipendenza e che cosa fanno.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  7. #7
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,315
    PS: NetBeans supporta Maven, ma di default usa Ant.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  8. #8
    Utente di HTML.it
    Registrato dal
    Jun 2013
    Messaggi
    11
    grazie a tutti ho risolto.

    Posso chiedervi un ultima cosa?
    Devo inserire in un file .bat il percorso specifico e la linea di comando per far avviare da terminale il file java.

    il percorso e la sintassi è questo: C:\electionday\electionday\build java -cp ./classes Ministero.Ministero

    come posso integrarlo in un file .bat?

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.