关于读写串口程序打成jar包后功能失效的解决方案

本文介绍了一种解决Java程序在将串口操作类打包为jar或exe后出现端口无法打开的问题的方法。通过在代码中加入初始化端口驱动程序的代码,成功解决了这一难题。

最近在做一个项目,关于远程客户端通过web形式访问另一个客户端,并对其客户端串口进行读写操作,在经过几天的摸索发现只有通过安装插件的形式来实现比较合理,于是写了一个小插件,安装于客户端进行监听端口的操作。

通过IDE运行插件进行测试,对于串口的远程操作没有任何的影响,但是当我们把操作串口的类封装成jar包或者exe可执行程序后,发现程序运行出现找不到端口列的错误,这个的确让人郁闷,好好的程序打包后却不好使...

还以为是打包的方式不对,于是换了好几种打包方式,错误依然如故,同时在网上也找了大量的解决方法依然没有获得解决,就在心灰意冷的时候,突然看到这样一句话,“Jbuilder 等开发工具在运行comm包的时候可以自动加载接口驱动,而不需要我们手工加入驱动代码。 而当打好jar包之后,如果代码里没有驱动还是什么接口也打不开”。如果是这个原因的话,那就说明我们需要在代码中加入初始化端口的驱动程序,于是加入下列代码在事件中:

System.loadLibrary("win32com");

String driverName-"com.sun.comm.Win32Driver";

CommDriver driver;

try {

driver=(CommDriver)Class.forName(driverName).newInstance();

driver.initialize();

}

重新打包后运行,端口操作正常,看来还是羊毛出在羊身上不由兴奋了一下,希望此贴能够帮助到有同样问题的朋友。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值