Problem! Java Comm api on windows

วันนี้นั่งเอาโค๊ดเก่าที่เคยทำไว้สมัยเรียนมาลองเล่นใหม่ ซึ่งใช้ java ในการส่ง SMS หลักการมันก็คือ ใช้ Java Comm api ยิง AT Command ไปยังมือถือ เพื่อให้ส่ง SMS ให้

เอาโค๊ดมารันแล้ว รันไม่ได้ เจอเจ้านี้เข้าไป

Error loading SolarisSerial: java.lang.UnsatisfiedLinkError: no SolarisSerialParallel in java.library.path
Caught java.lang.UnsatisfiedLinkError: com.sun.comm.SolarisDriver.readRegistrySerial(Ljava/util/Vector;Ljava/lang/String;)I while loading driver com.sun.comm.SolarisDriver
Error loading SolarisSerial: java.lang.UnsatisfiedLinkError: no SolarisSerialParallel in java.library.path
Caught java.lang.UnsatisfiedLinkError: com.sun.comm.SolarisDriver.readRegistrySerial(Ljava/util/Vector;Ljava/lang/String;)I while loading driver com.sun.comm.SolarisDriver
Exception in thread “main” java.lang.IllegalArgumentException: defaultCloseOperation must be one of: DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE, or DISPOSE_ON_CLOSE
at javax.swing.JDialog.setDefaultCloseOperation(JDialog.java:705)
at org.jrm.sms.utils.PortChooser.finishGUI(CommPortOpen.java:344)
at org.jrm.sms.utils.PortChooser.(CommPortOpen.java:268)
at org.jrm.sms.utils.CommPortOpen.(CommPortOpen.java:114)
at org.jrm.sms.utils.CommPortOpen.main(CommPortOpen.java:103)


แล้ว solaris เกี่ยวอะไรด้วยอ่ะ เรารันบน windows นี่นา ก็เลยไปอ่านปัญหาในเน็ต ก็เลยพบว่า Java Comm api ที่ดาวโหลดมาเป็นเวอร์ชัน 3 ซึ่ง SUN เอาไม่ทำ Support windows แล้ว งานเข้าหละทีนี้

ตอนเลือกดาวโหลดมาก็ แอบเห็นว่าไม่มี windows version ก็เลยไปเลือกเป็น Generic version พอเอามา แตก jar ก็เจอ Solaris lib แทน

สุดท้าย ต้องกลับไปหา api version 2 แทน
comm.jar, win32comm.dll และ javax.comm.properties