用java实现串口通信。我的系统在MyEclipse下完全能正常运行,但是不在MyEclipse下,只开TomCat,就会有错。我调试了下是这句有错:
          portId = CommPortIdentifier.getPortIdentifier("COM1");
会报  NoSuchPortException 的错误。声明:我的机器只有COM1,系统在MyEclipse下完全能正常运行。
我加上如下代码:
           System.out.println("CommPortIdentifier=="+CommPortIdentifier.getPortIdentifiers());
  Enumeration v = CommPortIdentifier.getPortIdentifiers();
  System.out.println("v.hasMoreElements()="+v.hasMoreElements());
结果如下:
          CommPortIdentifier==javax.CommPortEnumerator@1140db
          v.hasMoreElements()=false
再次声明:在MyEclipse下完全能正常运行。恐怖的是以前也试过只开TomCat,从没出过这个问题。
那位大侠能告诉我是怎么回事啊???

解决方案 »

  1.   

    同学给出了答案: 希望可以帮到别人配置串口通信需要三个jar文件:comm.jar; win32com.dll; javax.comm.properties;配置方法:1.comm.jar放置到JAVA_HOME/jre/lib/ext;
    2.win32com.dll放置到JAVA_HOME/bin;
    3.javax.comm.properties放置到JDK/jre/lib(也就是在JAVA文件夹下的jre,这个路径主要是为了单独运行tomcat的时候用);如果这种方式不能成功,那么就将javax.comm.properties放置到JAVA_HOME/jre/lib下(这个路径主要是为了myeclipse开发环境下找到包);
      

  2.   

    问题解决了,恭喜
    环境配置的问题,COM1应该是定义在javax.comm.properties里面的,所以如果找不到该文件,就无法正确加载属性了