您的位置:首页 > 编程语言 > Java开发

Windows下的java串口开发环境配置

2009-12-18 13:10 501 查看
前段时间研究了一下在Windows操作系统下用java进行串口操作。很关键的一点就是环境配置。我发现网上的文章千篇一律。都需要将几个文件copy到JDK安装目录下的某个目录中。按照网上介绍的方法进行配置的话,也能将开发环境配置起来。但是,由于程序运行必须的jar和dll无法打包,而产生不能成功部署的问题。比如,我在某个论坛上就看到,有个网友用Applet从客户端读串口的数据,Applet在他自己的机器上运行没有问题(当然没有问题,jar什么的都copy到jdk目录中了,成为jdk的一部分了),但是从别的机器访问的时候,Applet就不能正常运行了。问题很明显,必须的jar和dll文件没有被load到客户端去。本文根据自己的切身体验,总结出一套环境配置的方法。希望对网友有所帮助。

一.需要的工具和文件

1.eclipse 版本:3.0以上即可。

2.rxtx-2.1-7-bins-r2 .zip 出处:http://users.frii.com/jarvi/rxtx/download.html

3.JDK 版本:我用的是1.5版,但是我认为更低的版本也没有问题。

二.环境搭建的步骤

step1.在eclipse中新建一个工程(根据你自己的需要,Applet,tomcat,java工程等均可)。

step2.在工程下建一个lib文件夹。

step3.将rxtx-2.1-7-bins-r2 .zip解压缩,得到文件夹[rxtx-2.1-7-bins-r2]。

step4.将[rxtx-2.1-7-bins-r2]/RXTXcomm.jar这个文件copy到step2创建的lib中。

step5.将[rxtx-2.1-7-bins-r2]/Windows/i368-mingw32目录下的两个dll文件copy到step2创建的lib中。

step6.在工程上右键 -> Properties -> Java Builder Path -> Libraries -> Add JARs -> 选择step2中创建的lib目录下的RXTXcomm.jar -> OK。

step7.最关键的一步。点RXTXcomm.jar前面的小加号(+) -> 选择Native library location -> 点右边一列按钮中的Edit… -> 选择step2中创建的lib目录 -> OK。

补充:如果你的代码需要调用本地dll,你可以通过同样的方式设置Native library location。

三.环境配置完了以后,可以写一个程序来测试一下了。以下是我的test程序。

import gnu.io.CommPortIdentifier;
import java.util.Enumeration;
public class CommTest {
static CommPortIdentifier portId;
static Enumeration portList;
static int bauds[] = { 9600, 19200, 57600, 115200 };
public static void main(String[] args) {
portList = CommPortIdentifier.getPortIdentifiers();
while (portList.hasMoreElements()) {
portId = (CommPortIdentifier) portList.nextElement();
if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL) {
System.out.println("Find CommPort: " + portId.getName());
}
}
}
}

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/bayougeng/archive/2009/08/04/4405896.aspx


正确的运行结果应该像下面这样:

Stable Library
=========================================
Native lib Version = RXTX-2.1-7
Java lib Version = RXTX-2.1-7

Find CommPort: COM1

四.总结

用Java进行串口通讯程序的开发,总的说有三种途径。

1.用sun提供的开发包javacomm。但是sun已经停止了对这个包的维护了。它只能适用于较低版本的JDK。而且它的配置很麻烦。

2.用rxtx开发包。

3.用Delphi或者C++等更易于操作底层硬件的开发语言开发本地代码。借助JNI技术,用Java调用本地代码。根据我的理解,实际上rxtx开发包也是用的第三种途径。压缩文件中的两个dll文件就是最好的证据。

4.如果你的工程最终可能在其他操作系统上,你应该将[rxtx-2.1-7-bins-r2]文件夹下对应操作系统目录中的文件copy到你的工程lib目录中。比如,你要在linux下运行,那就应该把linux文件夹下的so文件copy到工程lib文件夹中。rxtx可以根据操作系统环境,选择需要加载的本地文件。这样就能真正做到跨系统,跨平台了。

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/bayougeng/archive/2009/08/04/4405896.aspx
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: