一、具体问题
昨天把项目提交到svn后更新本地代码运行项目出现no rxtxSerial in java.library.path的错误,百度了一下说是因为缺少rxtxParallel.dll和rxtxSerial.dll这两个文件。
二、报错详情
java.lang.UnsatisfiedLinkError: no rxtxSerial in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1864)
at java.lang.Runtime.loadLibrary0(Runtime.java:870)
at java.lang.System.loadLibrary(System.java:1122)
at gnu.io.CommPortIdentifier.<clinit>(CommPortIdentifier.java:123)
at com.dijing.server.web.utils.MySerialPort.open(MySerialPort.java:48)
at com.dijing.server.web.utils.SerialUtils.open(SerialUtils.java:75)
at com.dijing.fs.service.QiXiangZhanService.start(QiXiangZhanService.java:45)
at com.dijing.fs.WebInitialization.contextInitialized(WebInitialization.java:181)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4792)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5256)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1420)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1410)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
三、问题原因
通过百度大概了解到了出现这个问题的原因可能是项目用到了串口通信,出现缺少rxtxParallel.dll和rxtxSerial.dll这两个文件而导致的。
四、解决方法
将rxtxParallel.dll和rxtxSerial.dll文件复制到对应安装JAVA_HOME下的jre下的bin目录里面就可以了。
最后附上下载地址https://download.csdn.net/download/younha66/10648908