Google一下java和串口,可以找到很多关于java处理串口的文章,其中离不开两个技术一个是用sun提供的comm.jar,一个是RXTX提供的RXTXcomm.jar,其中后者是对前者完全的覆盖!不过麻烦的是这两个都需要安装,我的问题就是出在这里!配置了一个晚上不仅一团糟,而且还没办法运行,现在把几个可能遇到的问题总结下:
1.首先需要弄清楚jdk和jre这两者的关系,要明白编译时候和运行时环境不同,一般安装jdk会有两个jre,而jre就是java程序运行时应该提供的环境,安装完jdk在java的目录下一般有两个文件夹jdk1.6.0_03和jre1.6.0_03,在jdk1.6.0_03目录下也有个jre目录,这是因为jdk工具本身就是一个java的程序,所以他自己运行也需要jre的环境,那么本机运行java程序到底是哪个jre在作用?这个问题必须要搞清楚!这时候环境变量设置就有了作用一个是PATH,一个CLSASSPATH,这两个的设置就关系到底是哪个jre在作用,还有一个比较土的办法是修改其中一个jre名字,然后看是哪个使得java程序运行不正常即可!要搞清楚jre原因是因为comm.jar的程序运行需要在jre增加一些文件。
2.配置comm.jar环境,首先需要下载comm.jar以及和其相应的win32com.dll和javax.comm.properties这两个文件,由于sun已经停止了对comm的更新和维护,因此sun官网已经下载不到,不过可以上网去找!得到这三个文件之后,网络上有很多种关于comm.jar安装的方法说明,可是我试过很多都没用!导致后来修改太多自己都乱了,只有重装jdk来试!最后的结果是这样:在确定哪个jre情况下把win32com.dll放在jdk1.6.0_03/bin/的目录下,(我的jre是jdk目录下的)把comm.jar和javax.comm.properties放在jdk1.6.0_03\jre\lib\ext目录下注意是ext目录下,这也是我一直出错问题所在,网络上总是叫人放在jdk1.6.0_03\jre\lib\目录下!这样就可以了我的CLASSPATH=.;D:\Program Files\Java\jdk1.6.0_03\bin然后PATH 增加了D:\Program Files\Java\jdk1.6.0_03\bin这项,重启命令行,就可以了!
3.配置RXTXcomm.jar,一样需要下载comm.jar和其相关的rxtxSerial.dll这这个文件,一样的是rxtxSerial.dll放在jdk1.6.0_03/bin/的目录下,RXTXcomm.jarjdk1.6.0_03\jre\lib\ext目录下注意是ext目录下。
最终问题得以解决,终于可以读写串口了!
分享到:
相关推荐
javax.comm 包含了几个关键类和接口,例如`CommPortIdentifier`、`SerialPort`、`ParallelPort`等,它们提供了识别、打开、配置和管理串行和并行端口的功能。`CommPortIdentifier`是查找可用端口的入口点,而`...
总的来说,`com.sun.jdmk.comm.HtmlAdaptorServer`和`jmxtools.jar`为Java开发者提供了强大的远程管理和监控工具,通过简单的配置和集成,可以让应用程序具备更高级别的可维护性和可管理性。但同时,也需要注意其...
Java串口通信(JAVA串口COMM包)是Java平台中用于实现串行通信的一个关键工具,主要用于设备间的低级通信,如与打印机、Modem、GPS等硬件设备交互。这个包由Java Micro Edition (Java ME) 提供,使得开发者能够在...
接着,"javax.comm.properties"是一个配置文件,它定义了Java串口通信的一些默认设置,比如端口的默认速率、数据位、停止位、校验位等。这个文件对于正确配置和初始化串口通信至关重要。在不同的操作系统或环境下,...
因此,确保安装了正确的驱动程序,并且在正确的位置配置了`comm.properties`文件,以便Java虚拟机能找到所需的资源。 - 在多线程环境中,需要正确管理和同步对串行端口的访问,以避免数据丢失或冲突。 - 由于`...
在`javacomm20-win32`中,`javax.comm`包包含了核心的串口通信类,如`CommPortIdentifier`、`SerialPort`和`ParallelPort`,这些类提供了打开、配置和读写串口的基本功能。 `CommPortIdentifier`是查找和识别可用...
标题中的“javacomm20-win32.zip_j2me_java comm w_javacomm20 win32_javacomm2”表明这是一个针对Windows 32位系统的Java串口通信库,它适用于J2ME(Java 2 Micro Edition)环境。描述中提到的文件“javax.comm....
5. **配置安全性和权限**:根据应用需求,可能需要配置安全策略和权限控制,以限制谁可以访问和操作MBeans。 6. **访问管理界面**:通过浏览器访问HtmlAdaptorServer提供的URL,查看和操作MBeans。 JMX还支持其他的...
3. **javax.comm.properties**:这是一个配置文件,用于配置Java Comm API,定义了串口的参数,如波特率、数据位、停止位、校验位等。开发者可以根据实际的短信猫硬件配置来修改这个文件。 4. **win32comm.dll**:...
"javax.comm"是Java早期为支持串行通信提供的一套API,它使得Java程序员能够方便地进行串口数据传输。 javax.comm API主要包括以下组件: 1. **CommPortIdentifier**: 这是核心接口,用于标识和访问可用的串行...
在Java中实现串口通信,通常需要依赖特定的库,比如`comm.jar`包。这个包提供了Java通信接口(Java Communications API),是Java平台标准版(Java SE)的一部分,用于支持通用串行通信协议。 `comm.jar`是Java通信...
"java——comm.jar串口通信包"就是这样一个工具,它提供了Java语言进行串行通信的能力。这个库通常被称为Java.comm API,允许Java应用程序通过串行端口与外部设备进行数据交换,比如单片机。 Java.comm API是Sun ...
JavaComm64.zip是一个与Java通信相关的压缩包文件,它主要关注64位系统的通信功能。这个包可能包含了Java Communications API(JavaComm)的64位版本,这是一个用于开发串行和并行通信应用程序的Java接口。JavaComm ...
标题中的“smsSendByComm_java.rar_comm_java 串口_java 短信”表明这是一个关于使用Java编程通过串行通信接口(Comm)实现短信发送的项目。描述中提到的“sunfruit 用JAVA编写的使用手机串口发送短信的程序”进一步...
然后在Java代码中,通过`gnu.io.RXTXPort`类获取串口实例,进行初始化配置,如设置波特率、数据位、奇偶校验等,接着就可以进行读写操作了。同时,RXTX还支持异步通信,通过注册`SerialPortEventListener`,可以在...
在IBM的官方网站developerWorks上,你可以找到相关的资源,比如“ibm-java-javacomm-3.0-0.0-linux-x86_64.tgz”这个文件,它是一个针对Linux x86_64平台的IBM Java通信库的压缩包。这个包包含了实现Java Comm API的...
为了使用Java Comm API,开发者首先需要在系统中安装合适的提供商,并确保在应用程序中正确配置。然后,可以利用`CommPortIdentifier`来查找可用的通信端口,通过`SerialPort`或`ParallelPort`进行实际的数据传输。...
总之,"comm3.0_u1_linux"是一个针对Linux平台的串口通信解决方案,它结合了Java通信API(javax.comm)和特定的配置文件,使得开发者可以方便地在Java程序中实现串口通信功能,适用于各种需要硬件交互的场景。
使用`javacomm.jar`进行串口通信时,首先需要在项目中添加该库,然后通过`CommPortIdentifier`获取串口实例,接着使用`SerialPort`或`ParallelPort`进行具体的串口配置和数据交换。需要注意的是,由于`javacomm.jar`...