当端口存在时获取javax.comm.NoSuchPortException
你好,我看过这篇文章,但我不太清楚 在设备管理器中,它显示COM3存在,我可以通过putty连接它,但这段代码得到了这个错误/异常当端口存在时获取javax.comm.NoSuchPortException,java,serial-port,Java,Serial Port,你好,我看过这篇文章,但我不太清楚 在设备管理器中,它显示COM3存在,我可以通过putty连接它,但这段代码得到了这个错误/异常 try { portId = CommPortIdentifier.getPortIdentifier("COM3"); } catch (NoSuchPortException ex) { System.out.println(ex); } try { serialPort = (SerialPort)por
try {
portId = CommPortIdentifier.getPortIdentifier("COM3");
} catch (NoSuchPortException ex) {
System.out.println(ex);
}
try {
serialPort = (SerialPort)portId.open("S2CFrameWork", 5000);
} catch (PortInUseException e) {
System.out.println(e);
}
这个简单的代码抛出了一个javax.comm.NoSuchPortException,我也尝试过使用枚举来获取可用端口列表,但它仍然显示异常。有人能解决这个问题吗?comm.jar应该放在:
win32com.dll应放在以下位置:
javax.comm.properties应放在:
代码的哪一位?portId=CommPortIdentifier.getPortIdentifier(“COM3”);那么
CommPortIdentifier.getportIdentifier()
显示了什么呢?这很奇怪,因为CommPortIdentifier.getportIdentifier()
不应该抛出NoSuchPortException
。使用getPortIdentifiers()
调用和异常堆栈跟踪的前几行发布代码。使用ex.printTraceTrace()
打印异常不要使用System.out.println(ex)
@ShantanuBanerjee您仔细阅读了吗,我的意思是getPortIdentifiers()
,注意后面的“s”,这与您在代码中调用的方法不同。我在哪里可以下载此windows软件包?我已尝试使用给出的说明,但效果良好。有关安装和文件的说明可以通过给定的链接找到。忘记提及,链接是从另一个线程复制的
%JAVA_HOME%/lib
%JAVA_HOME%/jre/lib/ext
%JAVA_HOME%/bin
%JAVA_HOME%/jre/bin
%windir%System32
%JAVA_HOME%/lib
%JAVA_HOME%/jre/lib