el "java.langNOclass bla bla bla" que mencionas es la descripción del error.
visto de otra forma, como esperas solucionar algo si ignoras el síntoma?![]()
Hola a todos y todas.
Soy nuevo en el foro, me lo recomendaron, me dijeron que acá están los cabrones de la informática.
Tengo un problema con una aplicación java que estoy programando en Netbeans 6.8
Les cuento, primero que nada yo no cacho nada de programación, o casi nada y por razones laborales he tenido que meterme algo en el tema.
Estoy haciendo una aplicacion para controlar la activación de un pin del puerto serial, al que le saco 10V que utilizo como señal, para controlar un interruptor electrónico.
Empezé programando en VB y me resultó, pero ahora necesito hacer eso mismo pero desde una plataforma que me soporte internet, asi que cachurié en internet y encontré un programa que se llama Netbeans.
Bueno, utilizo una libreria para controlar el puerto serial jssc.jar
y leyendo tutoriales de netbeans aprendía a hacer un applet, mi applet tiene solamente 1 boton, que hace todo lo que yo necesito.
Al ejecutar el applet directamente desde netbeans, todo ok, pero cuando lo ejecuto desde HTML que me genera el mismo netbeans me aparece un error, algo así, aparece una ventana.
Runtime exception
java.langNOclass bla bla bla
Creo que el problema esta con la librería, no se que puede ser, pero sigo el mismo tutorial que encontre y si no uso una libreria especial no hay drama y me abre el HTML, me pide permiso para ejecutar la aplicación y todo ok, me muestra el hola mundo.
Pero mi aplicacion solo funciona bien en el visor del netbeans, aparece mi boton y si le hago clic, con un emulador de puerto serial puedo ver que funciona correctamente.
Mi duda es si, lograra solucionar el problema e instalo el html y el .jar en un servidor, podre tener acceso al puerto com del servidor desde otro pc, por internet???
Gracias a todos.

el "java.langNOclass bla bla bla" que mencionas es la descripción del error.
visto de otra forma, como esperas solucionar algo si ignoras el síntoma?![]()
A los que contemplan la luna las nubes a veces ofrecen una pausa.
Portable: Shure se-215 / HifiMan RE-0 / Sennheiser PX-200 II | Studio: Samson Resolv 40a / Fiio A1 | HT: Onkyo TX-SR 308 / Paradigm Titan Monitor v. 6
No ignoro el error, solo pienso que puede ser algo común y exclusivo del HTML
porque la aplicación en si funciona bien, corriendola con el visor del mismo programa, la compilación no da ningún error.
El error aparece así
Error de Aplicación
RuntimeException
java.lang.NoClassDefFoundError: jssc/SerialPortException
jssc/SerialPortException corresponde a la biblioteca que uso para controlar el puerto serial.
Seguramente no estas incluyendo las dependencias en el tag archive en tu pagina web.
Specifying .JAR file dependencies (at APPLET tag’s ARCHIVE parameter or at JAR’s manifest file) George Birbilis @zoomicon
Copia la librería en el equipo cliente. La ruta es c:/java/jre /lib/ext (depende de cada maquina).
En vez de usar un applet... no sería lo ideal una pagina chiquitita usando un Servlet que puede usar librerias en la capa servidor?
Cotiza tu notebook en SoloNotebooks
Arma tu tarro en SoloHardware
Encuentra tu nuevo LCD/LED en SoloElectro
Me funcionó, pero no me corre la aplicación, copie la librería pero al ejecutar el HTML que me hace el netbeans me aparece mi aplicación , pero al pulsar el botón que debería activar el puerto com virtual, no lo hace.
No entiendo tu idea, es que esta cosa es como si me hablaran en chino.

el noclassdeffounderror ocurre pq:
- tienes una librería con una versión anterior/posterior a la requerida
- tienes 2 librerías, la correcta y la anterior/posterior
debes eliminar del classloader la q no corresponda.
si tienes mas problemas, sería bueno que postearas el nuevo stacktrace.
A los que contemplan la luna las nubes a veces ofrecen una pausa.
Portable: Shure se-215 / HifiMan RE-0 / Sennheiser PX-200 II | Studio: Samson Resolv 40a / Fiio A1 | HT: Onkyo TX-SR 308 / Paradigm Titan Monitor v. 6
A que se puede deber que cuando ejecuto la aplicación con el visor de netbeans, me corre sin problemas y cuando trato de abrir un html no me corre?.
Como te lo explico... a ver
Tengo un proyecto que se llama aplicacionporton.
En el source package tengo, el paquete aplicacionporton
con un ventana.java
Ventana.java tiene un jframe con un Jbutton
en el encabezado del ventana.java tengo
import jssc.SerialPort;
import jssc.SerialPortException;
y debajo del jbutton tengo esto:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
SerialPort serialPort = new SerialPort("COM1");
try {
System.out.println("Port opened: " + serialPort.openPort());
System.out.println("Params setted: " + serialPort.setParams(9600, 8, 1, 0));
System.out.println("\"Operando Portón Eléctrico!\" " + serialPort.writeBytes("Hello World!!!".getBytes()));
System.out.println("RTS enable: " + serialPort.setRTS(true));
try {
Thread.sleep(5000);
} catch (InterruptedException ex) {
Logger.getLogger(ventana.class.getName()).log(Leve l.SEVERE, null, ex);
}
System.out.println("RTS disable: " + serialPort.setRTS(false));
System.out.println("Port closed: " + serialPort.closePort());
}
catch (SerialPortException ex){
System.out.println(ex);
}
}
Ese codigo lo que hace es que al apretar le boton, me activa
el puerto serial y la señal RTS. Luego se activa un timer de
5 segundos y me desactiva el puerto, por consiguiente la señal RTS también.
Solamente eso.
Al hacer un run de ventana.java todo ok
Pero al ir a la pestaña FILES del netbeans y encontrar
el ventana.html no se me ejecuta nada, me abre la página y me sale una
X con el erro que antes mencioné.
Un forero más arriba me dijo que copiara la libreria a la carpeta jr6 del SDK de java, lo hice y ahora al cargar el HTML ventana.html, me aparece el botón, pero al hacer clic no me hace nada.
Como estoy en notebook, tengo emulado el puerto serial y con el run del netbeans puedo ver que funciona bien, pero como te digo, en el html no funciona.
Creo que los System.out no te van a salir en un applet
El proyecto no es dificil, pero vas a necesitar a un computín que sepa un poco de Java, solo es dificil que te salga.
Además que con un applet tienes un problema fundamental: el applet corre en la maquina que abrio el navegador, no en la que está conectada al puerto serial, o sea, estas ejecutando codigo en el cliente cuando lo deberias estar haciendo en el servidor.
Cotiza tu notebook en SoloNotebooks
Arma tu tarro en SoloHardware
Encuentra tu nuevo LCD/LED en SoloElectro
tienes que hacer el tipico cliente/servidor.
el cliente manda comandos a un servidor remoto donde la aplicacion está escuchando, y esta aplicacion tiene la conexion via serie.
eso fue un puñal, no tenía idea que esta cosa no me servía para acceder al puerto serial del pc servidor.
Y cual sería la solución?
Al principio, el proyecto lo hice con visual basic, con la libreria MScomm y me funciona rebien, pero solo desde el pc conectado a mi circuito por el puerto serial. Después surgió la idea de hacerlo correr desde internet y buscando información en teoría se podía migrar el código de VB a una página web en lenguaje ASP , pero nunca lo pude hacer. Llevo unas 2-3 semanas en el tema.
Como no me funciono la cosa del ASP, quizás se podía hacer, pero no entendi como. Alguien me dijo que lo hiciera en JAVA, porque aparte de soportar el pc, tambien la soportaría la gran mayoría de los teléfonos ultramodernos con 3G.
Y si ahora tu me dices, que un applet no puede tener el control de un puerto serial de un pc servidor, estoy frito y tendré que inventar una buena excusa.

eso es cierto, además corren en un sandbox, nikgando vas a tener acceso a los puertos ahí
si estas empecinado en hacerlo en java podrías hacerlo como una webapp, con api de servlets, sobre un tomcat q envía instrucciones al servidor, el cual tiene la funcionalidad.
para esto necesitarías:
- levantar un tomcat en un pc
- crear un html que tenga el formulario html o links q interactuen con el puerto
- crear un servlet q reciba esas peticiones y realice la comunicación con tu api.
lo weno de hacerlo así es q en modo debug y modo standalone funcionará![]()
A los que contemplan la luna las nubes a veces ofrecen una pausa.
Portable: Shure se-215 / HifiMan RE-0 / Sennheiser PX-200 II | Studio: Samson Resolv 40a / Fiio A1 | HT: Onkyo TX-SR 308 / Paradigm Titan Monitor v. 6
Tiene que ser via web?, pq si no una aplicacion cliente/servidor es bastaaaaaante mas simple.

A los que contemplan la luna las nubes a veces ofrecen una pausa.
Portable: Shure se-215 / HifiMan RE-0 / Sennheiser PX-200 II | Studio: Samson Resolv 40a / Fiio A1 | HT: Onkyo TX-SR 308 / Paradigm Titan Monitor v. 6
No nada... La conexion es directa por sockets ente ambas aplicaciones, a lo mas tendrias que abrir el puero en algun firewall/router dependinendo del uso. Hay unos chats bipersonales dando vuletas por inet que sirven harto como ejemplos, hechales una googleada.
Porque programación en redes es super sencilla para alguien cuya área no es la informática![]()
Cotiza tu notebook en SoloNotebooks
Arma tu tarro en SoloHardware
Encuentra tu nuevo LCD/LED en SoloElectro
Pero una aplicacion cliente/servidor monohebra es bastante simple, incluso sin tener idea de java... onda mezclar su programa con el del step 1 de Creating a simple Chat Client/Server Solution, con un protocolo tan simple que cuando el chat reciba la palabra boton, mande lo que tiene que mandar por serial D:.
Cotiza tu notebook en SoloNotebooks
Arma tu tarro en SoloHardware
Encuentra tu nuevo LCD/LED en SoloElectro