当端口存在时获取javax.comm.NoSuchPortException

当端口存在时获取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

你好,我看过这篇文章,但我不太清楚

在设备管理器中,它显示COM3存在,我可以通过putty连接它,但这段代码得到了这个错误/异常

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