java.lang.UnsatisfiedLinkError:java.library.path debian中没有rxtxSerial

java.lang.UnsatisfiedLinkError:java.library.path debian中没有rxtxSerial,java,rxtx,Java,Rxtx,我试图在debian上使用rxtx串行通信库,并将librxtx.so添加到本机库路径中,但仍然发生了此异常 java.lang.UnsatisfiedLinkError: no rxtxSerial in java.library.path at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1738) at java.lang.Runtime.loadLibrary0(Runtime.java:823)

我试图在debian上使用rxtx串行通信库,并将librxtx.so添加到本机库路径中,但仍然发生了此异常

    java.lang.UnsatisfiedLinkError: no rxtxSerial in java.library.path
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1738)
    at java.lang.Runtime.loadLibrary0(Runtime.java:823)
    at java.lang.System.loadLibrary(System.java:1028)
    at gnu.io.CommPortIdentifier.<clinit>(CommPortIdentifier.java:83)
    at com.vxoom.qit.basic.Log4jInit.startPrinterThread(Unknown Source)
    at com.vxoom.qit.basic.Log4jInit.init(Unknown Source)
    at javax.servlet.GenericServlet.init(GenericServlet.java:39)
    atwinstone.ServletConfiguration.ensureInitialization(ServletConfiguration.java:183)
    at winstone.WebAppConfiguration.<init>(WebAppConfiguration.java:918)
    at winstone.HostConfiguration.initWebApp(HostConfiguration.java:131)
    at winstone.HostConfiguration.<init>(HostConfiguration.java:73)
    at winstone.HostGroup.initHost(HostGroup.java:85)
    at winstone.HostGroup.<init>(HostGroup.java:45)
    at winstone.Launcher.<init>(Launcher.java:196)
    at winstone.Launcher.main(Launcher.java:391)
java.lang.UnsatisfiedLinkError:java.library.path中没有rxtxSerial
位于java.lang.ClassLoader.loadLibrary(ClassLoader.java:1738)
位于java.lang.Runtime.loadLibrary0(Runtime.java:823)
位于java.lang.System.loadLibrary(System.java:1028)
位于gnu.io.CommPortIdentifier。(CommPortIdentifier.java:83)
位于com.vxoom.qit.basic.Log4jInit.startPreterThread(未知源代码)
位于com.vxoom.qit.basic.Log4jInit.init(未知源)
位于javax.servlet.GenericServlet.init(GenericServlet.java:39)
ServletConfiguration.ensureInitialization(ServletConfiguration.java:183)
WebAppConfiguration.(WebAppConfiguration.java:918)
位于winstone.HostConfiguration.initWebApp(HostConfiguration.java:131)
HostConfiguration.(HostConfiguration.java:73)
位于winstone.HostGroup.initHost(HostGroup.java:85)
HostGroup.(HostGroup.java:45)
在winstone.Launcher.(Launcher.java:196)
位于winstone.Launcher.main(Launcher.java:391)

LD\u LIBRARY\u PATH
设置到您拥有
.so
文件的目录

让您拥有
文件的目录为
/home/abc

使用此命令:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:"/home/abc"
在java中,按以下方式加载.so

System.loadLibraryPath("rxtxSerial");
要永久设置它,您必须将同一行放入
.profile
文件中 它将在您的主目录中


我将复制并粘贴rxtx安装帮助

Solution 1: move the file to a place that works

     $ mv /usr/local/lib/librxtxSerial.* /usr/local/java/jre/lib/i386/

Solution 2: add the location of librxtxSerial to LD_LIBRARY_PATH

     $ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib/

Solution 3: pass the location in on the command line

     $ java -Djava.library.path=/usr/local/lib/ ...
来源


对我来说,解决方案是将链接复制到jvm可以看到的库中,如下所示:

cp '/usr/lib/jni/librxtxSerial.so' '/usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/i386'

您需要将rxtxSerial.dll放入jreXX/bin文件夹

请有人帮助我…您能告诉我您在System.loadLibrary(“”)中传递的是什么以及库的确切名称吗。我正在从eclipse构建路径配置添加库,库名为librxtxSerail.soSystem.loadLibraryPath(“rxtxSerial”);