我正在构建一个使用Java Communication API javax.comm通过串行端口进行通信的简单应用程序。
以下是我编写的java main方法中的一些代码:
CommPortIdentifier cpi = null;
Enumeration e = CommPortIdentifier.getPortIdentifiers();
while (e.hasMoreElements()) {
try {
cpi = (CommPortIdentifier) e.nextElement();
} catch (NoSuchElementException n) {
}
System.out.println(cpi.getName());
}
即使我在运行此端口时连接到COM 4端口,枚举e也始终为空。
另外,运行此代码:
portRead = CommPortIdentifier.getPortIdentifier("COM8");
导致NoSuchPortException
我认为我已正确完成安装部分并将属性文件win32com.dll文件放在正确的位置。
你知道问题是什么吗?
谢谢
答案 0 :(得分:6)
请记住,您需要将javax.comm.zip中的所有解压缩文件添加到 jre
win32com.dll - jre / bin
comm.jar - jre / lib / ext
java.comm.properties - jre / lib (添加此项后我发现已解决的异常问题)
答案 1 :(得分:3)
确保win32com.dll(javax.com附带)位于jre \ bin目录中。 确保javax.comm.properties(javax.com附带)位于jdk \ lib目录中。
答案 2 :(得分:1)
这适用于我(我安装了x86 jdk)并按照步骤
您的问题是Windows无法将正确的PORT通知您的JAVA计划。
您必须通过以下链接将正确的文件复制到正确的位置。
http://kishor15389.blogspot.com/2011/05/how-to-install-java-communications.html
答案 3 :(得分:-1)
查找设备正在运行的端口(尝试使用电源shell或超级终端查找所有COM端口,请尝试link)