Zugriff auf Serielle Schnittstelle - Keine Ports gefunden.

Oli

Top Contributor
Hallo Leuts,

ich hab javax.comm eingebunden und möchte auf eine serielle Schnittstelle zugreifen. Es scheitert aber schon am Auslesen der Ports.

Folgenden Code verwende ich:

Java:
import javax.comm.*;
import java.util.*;


public class PortListener {
	public static void main(String[] args) {
		System.out.println("[PortListener]Start");

		System.out.println("[PortListener]CommPortIdentifiersgetPortIdentifiers");
		Enumeration e = CommPortIdentifier.getPortIdentifiers();
		System.out.println("[PortListener]CommPortIdentifiers Auflisten");
		while (e.hasMoreElements()) {
			System.out.println((CommPortIdentifier) e.nextElement());
		}
		System.out.println("[PortListener]Ende");
	}
}

Er findet keine Ports. Muss ich da irgendwelche Security - Einstellungen ändern oder warum funzt des net?

Danke und Grüße Oli
 
Evtl mal mit der Library von rxrx.org testen. Denn die javax.comm Komponenten werden seit Jahren nicht mehr gepflegt...

- Alex
 
Du musst die DLL und die PROPERTIES-Datei in das Java-Verzeichnis schreiben, näheres siehe "PlatformSpecific.html", da steht das genau drin.

Dann klappts auch mit den Ports!

Ciao
 
Du musst die DLL und die PROPERTIES-Datei in das Java-Verzeichnis schreiben, näheres siehe "PlatformSpecific.html", da steht das genau drin.

Dann klappts auch mit den Ports!

Ciao

Finde ich keine gute Lösung. Denn damit bindest du dich an diese JRE. Die sollte man jedoch am besten nicht anfassen/verändern...

Es geht i.d.R. auch anders. RXTX.org ist API Kompatibel, aktueller und benötigt keine änderungen der JRE. Die DLL kannst du hinlegen wo du willst und eine Properties-File braucht es nicht.

- Alex
 
Finde ich keine gute Lösung. Denn damit bindest du dich an diese JRE. Die sollte man jedoch am besten nicht anfassen/verändern...

Es geht i.d.R. auch anders. RXTX.org ist API Kompatibel, aktueller und benötigt keine änderungen der JRE. Die DLL kannst du hinlegen wo du willst und eine Properties-File braucht es nicht.

- Alex

Ich will Dir ja nicht widersprechen!

Aber ich selbst stand vor 3 oder 4 Wochen auch vor dem Problem. Ich hatte eine JAVA-Applikation geschrieben mit javacomm (das kannte ich noch von "früher" und somit ging alles recht schnell und Zeit hatte ich in der Tat sehr sehr wenig, somit bin ich über das "wird nicht mehr gepflegt" auch locker hinweggegangen) und wollte die oben erwähnte Bindung an eine JRE vermeiden, nachdem das Programm schon lief. Meine Lösung war, die JRE mitzuinstallieren. Das hat dann vielleicht noch den Vorteil, dass das Programm auf "meiner" JRE läuft.

Mir ist schon klar, dass meine Lösung - na sagen wir mal - bedenklich ist. Aber wenn eine schnelle Lösung benötigt wird, ist das nicht schlecht, immerhin läuft es und der Kunde merkt nicht, dass man es auch besser machen könnte. Und so bitte ich auch meine Tipps zu verstehen.

Wenn man Zeit hat, dann ist die rxtx-Lösung sicher die beste.

Ich bin auch erst seit dieser Zeit Mitglied in diesem Forum, aus meinem damaligen Zustand rührt auch der Nickname, den ich mir hier gegeben habe.

Ciao an alle
JChaos
 
Quick'n'Dirty Lösungen dürfen natürlich Quick'n'Dirty sein. Aber der "Aufwand" mit rxtx ist nicht wirklich vorhanden. Bis auf die Imports bleibt der Code der gleiche. Man muss nur die dll/so in den Library-Path aufnehmen (ein einziges zusätzliches JVM Argument) und die rxtx JAR anstatt die java.comm JAR in den Classpath stecken. Wenn man den Download noch mit dazurechnet sind das nichtmal 5 Minuten "arbeit".
 

Neue Themen


Zurück
Oben