Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di Poker1
    Registrato dal
    Jul 2002
    Messaggi
    479

    [JAVA] Compilare piu file da riga di comando con windows

    Ciao a tutti!!!!
    Sto facendo programmazione di rete e dovrei avviare piu client che si scambiano messaggi con UDP e quindi li devo attivare in maniera veloce con porte diverse cioe',

    client <porta_1>
    client <porta_2>

    ecc

    Il problema e' che il mio file e' composto da 2 classi, ho provato a fare cosi':

    java file1.class file2.class 1090

    1090 e' la porta, ma mi da NoClassDefFoundError e se invece lo avvio con Eclipse il programma va, soloc he nn fa niente chiaramente perche' nn faccio in tempo ad avviare gli altri su altre porte
    Non riscrivere la ruota, usa le librerie.
    by Bjarne Stroustrup
    EIDON SOFT MEMBER

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

    Re: [JAVA] Compilare piu file da riga di comando con windows

    Originariamente inviato da Poker1
    Il problema e' che il mio file e' composto da 2 classi, ho provato a fare cosi':

    java file1.class file2.class 1090
    A parte il fatto che il nome della classe va passato al comando java senza la estensione .class, comunque la questione è molto semplice: ogni client deve essere eseguito in una JVM a sé stante. Da una console ne avvii uno, da un'altra console ne avvii un altro.
    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 L'avatar di Poker1
    Registrato dal
    Jul 2002
    Messaggi
    479
    Ok grazie :-)

    Pero' il problema e' che io devo compilare 2 file e devo passare anche il numero di porta, ad esempio

    java file_main file2 1090

    dove file_main e' il file che contiene il main del programma, e file 2 e' una classe.
    La classe l'ho messa in un file a parte perche' siccome serve anche al server quindi ho preferito separare le cose. Se compilo cosi' mi dice che manca l'argomento args[0]
    Non riscrivere la ruota, usa le librerie.
    by Bjarne Stroustrup
    EIDON SOFT MEMBER

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da Poker1
    Pero' il problema e' che io devo compilare 2 file e devo passare anche il numero di porta, ad esempio

    java file_main file2 1090

    dove file_main e' il file che contiene il main del programma, e file 2 e' una classe.
    La classe l'ho messa in un file a parte perche' siccome serve anche al server quindi ho preferito separare le cose. Se compilo cosi' mi dice che manca l'argomento args[0]
    Stai facendo un po' di confusione. Una cosa è la compilazione (da .java a .class) e un'altra cosa è avviare la JVM per eseguire l'applicazione specificando 1 (una!) classe che contiene il metodo statico main.
    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 L'avatar di Poker1
    Registrato dal
    Jul 2002
    Messaggi
    479
    ecco infatti adesso funziona passando solo il file in cui c'e' il main e la porta di ascolto come parametro.
    Ad essere sincero ( non avendo mai utilizzato java da riga di comando ) credevo che a "java" si dovessero passare tutti i file compilati. Siccome compilando col C viene prodotto un file che si chiama diversamente da tutti gli altri ero andato un po' in confusione si questo aspetto...
    Non riscrivere la ruota, usa le librerie.
    by Bjarne Stroustrup
    EIDON SOFT MEMBER

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da Poker1
    credevo che a "java" si dovessero passare tutti i file compilati.
    No, devi solo specificare la classe che ha il metodo statico main. Tutte le altre classi necessarie la JVM le trova utilizzando un determinato criterio di ricerca che è ben spiegato qui: How Classes are Found (e ti invito a leggerlo).
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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.