javax.comm Problem beim starten aus .jar heraus

Status
Nicht offen für weitere Antworten.

kajdo

Mitglied
Hi Leute!

Nach 3h Fehlersuche bin ich entgültig entnervt und hoffe auf hilfe von eurer seite.

Ich habe das SerialDemo-Sample von SUN aus der COM-API etwas umgeschrieben, damit ich nur die Daten der Schnittstelle abfrage und dann in eine Datei speichere und am bildschirm ausgebe.

nun zum eigentlichen Problem:
ich habe wie in der api-beschrieben die installation durchgeführt und aus eclipse (3.1.1) heraus startet das programm und macht genau was es soll

... wenn ich das programm aber in ein .jar exportiere und dann aus der eingabeaufforderung heraus aufrufe bekomme
ich
Code:
void listPortChoices() {
            CommPortIdentifier portId;
            
            Enumeration en = CommPortIdentifier.getPortIdentifiers();
            System.err.println("beim enumeration");
           
            System.err.println("...:"+CommPortIdentifier.getPortIdentifiers());
            // iterate through the ports.
            while (en.hasMoreElements()) {
                 System.err.println("drinnen");
zwar "beim enumeration" ausgegeben
"...:"+... wird jedoch nicht mehr ausgegeben (geschweige denn die "drinnen" meldungen)

wenn ich dass ganze im eclipse startet bekomm ich in der konsole die erwarteten ausgaben (und das Programm läuft problemlos)

BITTE UM HINWEISE
danke
 
Wenn Du mit solchen Ausgaben feststellen willst, wie weit das Programm läuft, dann setze hinter die println-Anweisungen sicherheitshalber ein flush, also
Code:
System.err.println( "hier bin ich");
System.err.flush();

Fängst Du möglicherweise irgendwo im Programm Exceptions mit einem leeren catch-Block ab?
 
Hi Murray!

Ich habe alle try/catch-blöcke abgearbeitet und keinen (einer aber der sollt eigentlich unwesentlich sein) gefunden, der keine Meldung ausgibt. Werde die ganzen .err.println's mit flush() versehen. Es könnte sein, dass ich etwas bei der "Installation" der comm-api falsch gemacht hab. Auf meinem Rechner schwirren irgendwie 6-7 verschiedene jre/jdk versionen herum ... schätze, dass der fehler da liegt.

Wie ist die normale vorgehensweise, wenn man eine nicht im standard-jre befindliche bibliothek nutzen möchte (muss man da wirklich immer zig .jars, .dlls, ... in div. Verzeichnisse kopieren oder gibts einen weg diese gleich direkt in eine executable jar zu packen?).

danke schonmal für die unterstützung
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben