Avatar billede deepcore Nybegynder
24. marts 2004 - 11:10 Der er 3 kommentarer og
1 løsning

Java communications API under XP (prob med at fange serielport)

Hejsa. er ved at lave en applikation der bruger serielporten.
Jeg udvikler på en Windows XP maskine med Jdeveloper 10G preview , og har efter bedste kunnen installeret java communications api. herunder.

jeg er ret sikker på jeg har fået lagt filerne i zip'en rigtigt for jeg får ikke længere "class not found" beskeder.

når jeg kalder flg:
CommPortIdentifier portId = CommPortIdentifier.getPortIdentifier("serial0");

får jeg en
Exception javax.comm.NoSuchPortException

... det gælder forøvrigt også for "serial1" mv..

Filen javax.comm.properties ser pr default således ud:
#
# Drivers loaded by the Java Communications API standard extension
# at initialization time
#
# Format:
#    Each line must contain ONE driver definition only
#    Each line must be of the form:
#            driver=<ClassName>
#        No spaces or tabs in the line.
#        ClassName must implement the interface javax.comm.CommDriver
#            example: driver=Win32Serial
#   
#
# The hash(#) character indicates comment till end of line.
#
# Windows Serial Driver
Driver=com.sun.comm.Win32Driver

hvis jeg i bunden tilføjer:
driver=Win32Serial

får jeg flg:
Caught java.lang.ClassNotFoundException: Win32Serial while loading driver Win32Serial



.... har nogen erfaringer med dette. synes jeg har prøvet alt.
på forhånd tak.
Avatar billede apocryphal Nybegynder
25. marts 2004 - 10:58 #1
Det må være din Class-path der stadig ikke er god nok.
Jeg bruger normalt en Service-wrapper: http://wrapper.tanukisoftware.org/doc/english/
- den kan starte en applikation op i console-mode (i stedet for at installerer den som en NT Service).

Den bruger en ret overskuelig konfigurationsfil, der kan specificerer elementerne i class-path meget specifikt. Det kan godt blive lidt crappy at specificerer 3-4 mapper og nogle jar filer i classpath på kommandopromten.
Avatar billede deepcore Nybegynder
26. marts 2004 - 18:27 #2
... løste selv problemet... løsningen er selvfølgelig at første serielport hedder com1 og ikke serial0, således skal linien se således ud: CommPortIdentifier.getPortIdentifier("com1"); ... tror du jeg kan sparke mig selv over at lave sådan en brøler, nå men sådan er det når man koder ud på de små timer.

... har i øvrigt kigget på din servicewrapper, og det ser ret godt ud. tak for det. Du for points da du var den eneste der svarede :)
Avatar billede deepcore Nybegynder
26. marts 2004 - 18:28 #3
... hvis du vil være rar at svare på spørgsmålet, istedet for at kommenterer altså ;)
Avatar billede apocryphal Nybegynder
29. marts 2004 - 10:45 #4
Jow tak - så får du da lige et svar :)

--
Jonas
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester