raga scusate togietemi 1 curiosità. Ho COmpilato questo codice

codice:
package         dev.javacomm; 
import          javax.comm.*; 
import          java.io.*; 
  


  

class ScriviSuSeriale  { 
  

public ScriviSuSeriale(String port, String message){ 
  try{ 

  // Prendiamo il descrittore della porta scelta.  
  // Nel caso in cui la porta non esista verrà 
  // sollevata una eccezione di tipo 
  // NoSuchPortException. 

  CommPortIdentifier id_porta; 
  id_porta= CommPortIdentifier.getPortIdentifier(port); 

  // Proviamo a prendere l'ownership della porta data.  
  // Nel caso in cui la porta sia già occupata verrà  
  // sollevata una eccezione 
  // di tipo PortInUseException 
  CommPort porta=id_porta.open("ScriviSuSeriale",200); 

  // Otteniamo un riferimento all'OutputStream  
  // della porta 

  OutputStream out=porta.getOutputStream();  
  // Impostiamo le proprietà di comunicazione nel 
  // seguente modo: 
  // baudrate 9600 
  // dataBits DATABITS_8 
  // stopBits DATABITS_1 
  // parity PARITY_NONE 
  // Nel caso in cui i valori impostati non siano 
  // supportati verrà sollevata una eccezione di  
  // tipo UnsupportedCommOperationException 

SerialPort      porta_seriale=(SerialPort)porta; 
porta_seriale.setSerialPortParams(9600, 
             SerialPort.DATABITS_8, 
             SerialPort.STOPBITS_1, 
             SerialPort.PARITY_NONE); 
// Procediamo, quindi, alla scrittura del  
// messaggio sulla porta 

PrintStream ps= new PrintStream(out); 
ps.print(message); 
Chiudiamo la porta 
ps.close(); 
porta.close(); 
} 
catch(NoSuchPortException ne){ 
  System.out.println("La porta "+port+" non e' presente"); 
}catch(PortInUseException pe){ 
  System.out.println("La porta "+port+" e' occupata da 
             "+pe.currentOwner); 
}catch(UnsupportedCommOperationException ue){ 
  System.out.println("La porta non supporta le proprietà 
              impostate"); 
}catch(IOException ioe){ 
  System.out.println("Errore di IO"); 
}// fine try/catch 

        }// fine 
  

public static void main(String[] args){ 
 if(args.length<2) 
  System.out.println("Usage java ScriviSuSeriale <port name> <message>"); 

 else{ 
   ScriviSuSeriale scrivi= new ScriviSuSeriale(args[0],args[1]); 
}// fine else 
        }// fine 
  
  

}// fine
Raga perkè se eseguo questo codice facendo exectue (dopo aver compilato) da Jcreator mi esegue la classe correttamente mentre se da linea di comando facio

java nomeclasse.java COM1 messaggio mi genera 1 eccezzione tipo

Exception in thread "main" java.lang.NoClassDefFoundError: modem/java


dove sbaglio????? grazie