Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it L'avatar di munshun
    Registrato dal
    Sep 2002
    Messaggi
    102

    [JAVA] - Accesso a porta seriale.

    Ciao a tutti,

    sto facendo un programmino per interagire con i modem tramite comandi AT . Ora non ho problemi relativi alla sintassi ma non riesco a far funzionare questo programma. Vi posto anche il codice (tanto è corto)


    import java.io.*;
    import javax.comm.*;

    public class portaSeriale
    {

    private String port="";
    private CommPortIdentifier id_porta;
    private CommPort porta;

    public static void main(String args[])
    {
    portaSeriale p = new portaSeriale();
    }


    public portaSeriale()
    {
    try
    {
    id_porta=CommPortIdentifier.getPortIdentifier(port );
    id_porta.open("COM 1",1);
    }
    catch(PortInUseException ecc)
    {
    System.out.println(ecc.getMessage());
    }
    catch(NoSuchPortException ecc)
    {
    System.out.println(ecc.getMessage());
    }
    }
    }

    Ora il problema si presenta in fase di esecuzione visto che non ricevo nessun messaggio di errore in fase di "compilazione".

    Ecco il messaggio d'errore:

    "Exception in thread "main" java.lang.NoClassDefFoundError: portaSeriale"

    Il messaggio compare non appena lancio il programma. Io avevo pensato a qualcosa relativo alla classpath, ma credo che non sia possibile altrimenti non mi avrebbe compilato neanche il programma ( o sbaglio ? :master: )

    Grazie per l'aiuto

    :metallica

    while(!$notte > 5:00)
    {$_GET['PHP_CODE'];}

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    315
    L'errore significa che l'interprete non trova la classe portaSeriale, se dici che la compilazione avviene correttamente devi controllare che il file portaSeriale.class sia effettivamente nella directory da cui tu lanci il programma. In caso affermativo assicurati di avere la directory . inclusa nel classpath
    Ciao,
    Lorenzo

  3. #3
    Utente di HTML.it L'avatar di munshun
    Registrato dal
    Sep 2002
    Messaggi
    102

    Scusa la domanda stupida

    Ma non dovrebbe darmi questo errore perché ho compilato moltissime altre classi dalla stessa dir e non mi ha dato mai problemi. Perché dovrei aggiungere il punto nella classpath :master:

    :metallica

    while(!$notte > 5:00)
    {$_GET['PHP_CODE'];}

  4. #4
    Utente di HTML.it L'avatar di munshun
    Registrato dal
    Sep 2002
    Messaggi
    102

    Ho fatto anche come dicevi tu

    ma il problema rimane lo stesso.......

    :metallica

    :ciuaz:
    while(!$notte > 5:00)
    {$_GET['PHP_CODE'];}

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    315
    Il punto nel classpath serve per informare l'interprete java di cercare le classi anche nella directory corrente. Se dici che con altre classi non hai problemi ricontrolla come hai scritto il comando, presta attenzione a maiuscole e minuscole.
    Il file portaSeriale.class e' presente nella tua dir?
    Ciao,
    Lorenzo

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    1,798
    Scusa tanto, ma il metodo main...
    ... dov'è ?
    Slack? Smack!

  7. #7
    Utente di HTML.it L'avatar di Zalex
    Registrato dal
    Aug 2001
    Messaggi
    357
    Intanto volevo dire a Sergio Pedone che il main c'e'
    public static void main(String args[])
    {
    portaSeriale p = new portaSeriale();
    }

    poi una domanda per munshun:
    mica per caso quando vuoi lanciare il 'programma' scrivi java portaSeriale.class?no perche' l'interprete java vuole come argomento il nome della classe che vuoi usare(di solito quella col main)e non il nome del file che contiene quella classe!siccome il file deve avere per forza il nome della classe che contiene il main allora lui sapra' che la classe portaSeriale(che tu gli passi come argomento) e' contenuta nel file portaSeriale.class
    Che io sappia quell'errore lo da quando si commette questa piccola 'infrazione';
    il comando giusto(in generale) e' java NomeClasse
    dove NomeClasse e' appunto il nome della classe publica contenuta nel file NomeClasse.class

    ciao

  8. #8
    Utente di HTML.it L'avatar di Zalex
    Registrato dal
    Aug 2001
    Messaggi
    357
    ...volevo correggermi in una cosa:
    quell'errore viene dato anche quando nella directory corrente non esiste il file contenente la classe specificata all'interprete;
    cioe' java NomeClasse, e non esiste il file NomeClasse.class nella directori corrente!

  9. #9
    Utente di HTML.it L'avatar di Zalex
    Registrato dal
    Aug 2001
    Messaggi
    357
    nel caso non hai ancora risolto dai un'occhiata a:
    http://www.programmazione.it/index.p...&idArticle=934
    ciao

  10. #10
    Utente di HTML.it L'avatar di munshun
    Registrato dal
    Sep 2002
    Messaggi
    102

    Problema risolto.......

    ..... ora riesco ad eseguirlo. Però non ho capito come mai mi dava quei problemi. Io non ho cambiato niente da ieri solo che oggi funziona.... :master:

    Grazie cmq dell'aiuto....... e ora mi vado a leggere pure il tutorial che mi ha consigliato Zalex

    Grazie a tutti

    :metallica

    while(!$notte > 5:00)
    {$_GET['PHP_CODE'];}

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