最近在做一个项目,关于远程客户端通过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();
}
重新打包后运行,端口操作正常,看来还是羊毛出在羊身上不由兴奋了一下,希望此贴能够帮助到有同样问题的朋友。