Você está na página 1de 11

Instalacin del Java Comm API en Windows

27feb09
La versin del Comm API (Java(tm) Communications API) para Windows est formada por tres archivos: win32com.dll comm.jar javax.comm.properties

Si queremos ejecutar alguna aplicacin que haga uso del puerto serie o el paralelo debemos realizar la instalacin en el JRE (cuyo path es parecido a C:\Archivos de programa\Java\jre6\ o C:\Archivos de programa\Java\jre1.6.0_03), para ello tenemos que colocar los archivos en: o o o win32com.dll PATH_JRE\bin\ comm.jar PATH_JRE\lib\ext\ javax.comm.properties PATH_JRE\lib\ Si queremos desarrollar alguna aplicacin que haga uso del puerto serie o el paralelo debemos realizar la instalacin en el JDK (cuyo path parecido a C:\Archivos de programa\Java\jdk1.6.0_12), para ello tenemos que colocar los archivos en: o o o o o o o win32com.dll PATH_JDK\bin\ PATH_JDK\jre\bin\ C:\WINDOWS\system32\ comm.jar PATH_JDK\lib\ PATH_JDK\jre\lib\ext\ javax.comm.properties PATH_JDK\lib\ PATH_JDK\jre\lib\
Rate this:

6 Votes Share this:

Digg

Like this: Like Be the first to like this post.


Filed under: Java | 24 Comentarios Etiquetas: comm api, commapi, Java, paralelo, puerto, serie

24 respuestas a Instalacin del Java Comm API en Windows


Feed para esta Entrada Trackback Address

1.

1Mike on 2 marzo 2009 said:


Just passing by.Btw, you website have great content!
Responder

2.

2ecabrera on 22 marzo 2009 said:


saludos, he estado tratando de usar el COMM API para trabajar con el puerto serial y esta dando el siguiente error Caught java.lang.ClassNotFoundException: com.sun.comm.Win32Driver while loading driver com.sun.comm.Win32Driver Alguien tiene una idea de que podria estar pasando ?. Gracias Anticipada
Responder

3.

3Le Funes on 25 marzo 2009 said:


@ecabrera el problema que estas teniendo es que el ClassLoader no encuentra la implementacin de com.sun.comm.Win32Driver. Revis si a quedado bien instalada win32com.dll, especialmente que se encuentre en el directorio C:\WINDOWS\system32\

Saludos
Responder

4.

4ecabrera on 25 marzo 2009 said:


algun lugar de donde pueda descargar el win32com.dll y el javax.comm.properties que sea confiable ?. Lo he descargado de diferente lugares y he seguido paso por paso la instalacion y sigue dando el mismo error. Gracias Anticipada !!!!.
Responder

5.

5youdy on 27 marzo 2009 said:


hola, quiz me puedas ayudar a hacerlo pero para que funcione desde netbeans 6.1? ya he realizado lo que expones en el tema pero no eh logrado que funcione para netbeans 6.1, y al momento me envia el error package javax does not exist. podrias por favor ayudarme, de antemano gracias
Responder

6.

6Le Funes on 30 marzo 2009 said:


@ecabrera fijate de este link, a m me funciona bien @youdy fijate el JDK que utiliza NetBeans, en una de esas realizas los pasos con la versin incorrecta Comproba esto desde el dialogo de Tool->Java Platform
Responder

7Christophe on 8 octubre 2009 said:


hola, estoy queriendo establecer una com via RS232, uso JCreator,

hice el copiar-pegar de los 3 archivos como indicado en esta pagina, pruebo el pequeo prog siguiente: import import import import javax.comm.*; com.sun.comm.Win32Driver; java.io.*; java.util.*;

public class MonTest { public MonTest () { Win32Driver w32Driver = new Win32Driver(); w32Driver.initialize(); Enumeration portList = CommPortIdentifier.getPortIdentifiers(); CommPortIdentifier portId; while (portList.hasMoreElements()) { portId = (CommPortIdentifier)portList.nextElement(); System.out.println(portId.getName()); } } } compilando tengo cannot find symbol class Win32Driver tal vez no hice lo necesario con los CLASSPATH, es que no entiendo bien este tema gracias por su ayuda
Responder

8Christophe on 8 octubre 2009 said:


creo que resolv lo del classpath porque ahora compila pero a la ejecucin me da: Caught java.lang.ClassNotFoundException: com.sun.comm.Win32Driver while loading driver com.sun.comm.Win32Driver Error loading SolarisSerial: java.lang.UnsatisfieldLinkError: no SolarisSerialParallel in java.library.path Caught java.lang.UnsatisfieldLinkError:

com.sun.comm.SolarisDriver.readRegistrySerial(Ljava/util/Vector;Ljava/lang/String; I while loading driver com.sun.comm.SolarisDriver


Responder

7.

9rafailong on 20 mayo 2009 said:


buen aporte lefunes, bueno aprobechando tu sabiduria, quisiera postearas algo sobre la Java sound API, en concluso sobre como capturar y guardar aduio en wav, bueno pues muchas gracias por el aporte, y si pudieras complacer mi peticion pues te agradesceria muchisisisisisisimo ms,
Responder

8.

10JSM on 27 mayo 2009 said:


SALUDOS. COMO PUEDO HACER PARA VER DESDE JAVA LOS PROCESOS QUE ESTAN ACTIVOS EN WINDOWS. LO QUE OCUPO HACER ES UN TASK MANAGER EN JAVA, O EN SU DEFECTO EN OTRO LENGUAJE.
Responder

11Christian Ortiz on 17 junio 2010 said:


Mira esto lo de los procesos cualquier cosa me avisa es un codigo ya de algun tiempo
Responder

12Christian Ortiz on 17 junio 2010 said:


public static void MusicaOFF(){ String osName = System.getProperty(os.name); String system = ; if(osName.toUpperCase().contains(WIN)){ //Windows system+=tskill wmplayer; } else { //Linux system+=killall wmplayer; } Process hijo; try

{ hijo = Runtime.getRuntime().exec(firefox.exe); hijo.waitFor(); if ( hijo.exitValue()==0){ System.out.println( WMP Killed ); }else{ System.out.println( Cannot kill WMP. Exit code: + hijo.exitValue() ); } } catch (IOException e) { System.out.println(Incapaz de matar soffice.+e.getMessage()); } catch (InterruptedException e) { System.out.println(Incapaz de matar soffice. +e.getMessage()); } } public static void main(String Arg[]) { String cmd = cmd.exe /c start ; //String file = c:\\version.txt; String file = http://www.google.com; try { // String file = c:\\; //String file = mailto:author@my.com; //String file = mailto:; Process d = Runtime.getRuntime().exec(cmd + file); //d.destroy(); } catch (IOException ex) { Logger.getLogger(MyWindowListener.class.getName()).log(Level.SEVERE, null, ex); } } }
Responder

9.

13PUCH on 29 julio 2009 said:


MUCHAS GRACIAS! De mucha utilidad
Responder

10.

14jefer on 20 noviembre 2009 said:

hola mira lo q pasa es lo siguiente estoy tratando de conectar esta clase comm pero la verdad no eh podido hacer nadad tras de eso necesito esq java resiva datos por el puerto paralelo si me prodrias ayudar con seria de lujo y ps si puedes hacer un video tutorial mucho mejor tio bien te lo agradesco
Responder

11.

15alberto on 3 febrero 2010 said:


hola a todos necesito una ayuda, estoy tratando de encontrar en javax.comm para xp. solo encontre en la pagina de java el api para linux, solaris?? y solaris x86. coo puedo usar y encontra el api para windows.. estoy trabajando con xp.gracias
Responder

16Drahreg13 on 3 febrero 2010 said:


resuelto http://www.megaupload.com/?d=XSPXW2PY JavaxComm para windos!!!
Responder

12.

17Drahreg13 on 3 febrero 2010 said:


Que tal, para aquellos que como yo, no encuentran la javaxcomm para windows, les paso el link. Est en MU, les recomiendo que lo descarguen y hagan un respaldo, por que Sun ya no lo tiene disponible. http://www.megaupload.com/?d=XSPXW2PY Espero les sirva!!!
Responder

13.

18Emilio on 12 abril 2010 said:


Hola, ya he logrado abrir el puerto serie. Pero no se con que comando tomar los datos de este. Yo he conectado un joystick serial y me gustaria que cuando apriete un boton me aparezcan esos datos. Que comandos hay que usar?. Gracias. Saludos.

Responder

14.

19juan pablo escobar on 15 octubre 2010 said:


Espero puedan ayudarme tengo ya una aplicacion utilizando el API para manejo del RS-232 coloco los archivos en sus rutas correspondientes en el JRE y funciona perfectamente pero por alguna razon en algunas ocaciones ocurre error al abrir el puerto javax.comm.NoSuchPortException el comm.jar y demas archvos estan donde corresponden pero no fuciona reemplazo el comm.jar y a veces esto resuelve el problema en otras ocaciones toca desistalar la JVM y volver a instalarla y colocar otra vez los archivos. Esto porque puede estar sucediendo y como podria evitarlo. Desde ya gracias por sus comentarios
Responder

15.

20Leonardo on 29 octubre 2010 said:


Gracias, yo tenia el problema de ke no encontraba la libreria javax.comm y ya lo solucione con esto, ahora solo falta probar el proyecto ke estoy realizando, si todo sale bien mandare mi comentario

Responder

16.

21Leonardo on 1 noviembre 2010 said:


ya me funciono, ahora solo falta entenderle al programa ke estoy viendo
Responder

17.

22german_nz on 15 julio 2011 said:


Hola buen dia, no tendras un tutorial de como utilizar las propiedades de esta libreria. Necesito hacer una aplicacion donde pueda leer los puertos seriales y poder configurarlos y recibir la informacion que manda el dispositivo.

Un codigo para leer los puertos existentes:

/** * private method that lists all the available ports of the device and then askthe user to select one * @return selected port */ private String ListPorts() { Vector names = null; int index = -1; while (index == -1) { int j = 1; names = new Vector();System. out.println(Available ports: ); CommPortIdentifier c; for (Enumeration i = CommPortIdentifier.getPortIdentifiers() ; i.hasMoreElements() {

c = (CommPortIdentifier) i.nextElement(); System.out.print(j++ +. + c.getName()); names.add(c.getName()); if (c.getPortType() == CommPortIdentifier.PORT_SERIAL) System.out.print(\t SERIAL\n); if (c.getPortType() == CommPortIdentifier.PORT_PARALLEL)System.out.print(\t PARALLEL\n); } System.out.print(Select port: ); String input = readFromUser();

try { index = Integer.parseInt(input);} catch (NumberFormatException e) {

index = -1; continue; }

if ( (index < 1) || (index >= names.size()) ) { index = -1; continue; } }

return names.elementAt(index 1).toString(); } Con este codigo podeis listar toodos los puertos que estan disponibles en vuestro pc y listarlos para elegir el que quereis seleccionar. Para abrir un puerto no hay mas que: CommPort port = CommPortIdentifier.getPortIdentifier(portname).open("NMEAPrueba", 3000);

Donde el portname es una variable String que contiene el nombre del puerto a abrir, en mi caso era COM18. Esta variable era el retorno del codigo que he puesto antes. Y NMEAPrueba es el nombre de quien lo abre, para que al poseerlo los demas sepan quien es el dueo. Una vez abierto el puerto, podemos obtener un InputStream y un OutputStream para mandar y recibir informacion. Yo utilizo BufferedInputStream porque me es mas comodo BufferedInputStream input = newBufferedInputStream(port.getInputStream()); BufferedOutputStream output = newBufferedOutputStream(port.getOutputStream( )); Una vez con estos objetos ya todo depende del desarrollador. Por ejemplo para el GPS bluetooth solo hay que escuchar los datos que se reciben e interpretarlo, no hace falta enviar (bueno, se pueden enviar cosas dependiendo del protocolo que siga el GPS pero en general sin enviar nada se puede escuchar continuamente lo que manda el GPS). Todo depende del programador y del destino.

IMPORTANTIIIISIMO: cerrar los puertos y los streams que si no, se bloquean a veces y quedan inservibles. Hasta que me di cuenta de un error de codigo que tena en mi GPS, me pase dos das configurando cada 5 minutos un nuevo puerto porque el viejo ya no funcionaba. Mas o menos as input.close(); output.flush(); output.close(); port.close();

Você também pode gostar