监听java串口时的相关配置
最近在做java监听串口一开始根本没有头绪,总是会报以下的错误:
Error loading SolarisSerial: java.lang.UnsatisfiedLinkError: no SolarisSerialParallel in java.library.pathCaught java.lang.UnsatisfiedLinkError: com.sun.comm.SolarisDriver.readRegistrySerial(Ljava/util/Vector;Ljava/lang/String I while loading driver com.sun.comm.SolarisDriverError loading SolarisSerial: java.lang.UnsatisfiedLinkError: no SolarisSerialParallel in java.library.pathCaught java.lang.UnsatisfiedLinkError: com.sun.comm.SolarisDriver.readRegistrySerial(Ljava/util/Vector;Ljava/lang/String I while loading driver com.sun.comm.SolarisDriverVerifying Comm Build Environment
查了好久

API中有如下几句话:
1.Windows: place the win32com.dll in <jdk>\jre\bin directory.
Solaris: put the libSolarisSerialParallel.so in the LD_LIBRARY_PATH.(本人用的是window xp的,这个就...)
2.Place the comm.jar in <jdk>\jre\lib\ext.
3.Place the javax.comm.properties in <jdk>\jre\lib .
根据这个提示修改了配置后测试通过~

所用测试类代码如下:
PortTest.java
import javax.comm.*;import java.util.*;public class PortTest {public static void main(String[] args) {String port_name;for (int i = 1; i < 100; i++) {port_name = "COM" + i;try {CommPortIdentifier port_id = CommPortIdentifier.getPortIdentifier(port_name);System.out.println("Port " + port_name + " exists");} catch (NoSuchPortException e) {System.out.println("No port " + port_name);}} // for} // main}
---------------------------------------------
控制台输出:
Port COM1 existsPort COM2 existsPort COM3 existsPort COM4 existsNo port COM5...
先记下了~
其中会用到的文件都在附件中,有需要的话请自行下载~
备注:附件给的是JDK1.2版本的,但我开发用的是JDK1.6版本,测试通过了