2014-03-04 112 views
0

我得到一个错误而写我简单的测试程序:NoClassDefFoundError - 无法初始化类...?

package Xbee; 

import com.rapplogic.xbee.api.XBee; 
import com.rapplogic.xbee.api.XBeeException; 

public class XbeeTest { 

    public static void main(String[] args) { 
     // TODO Auto-generated method stub 

     XBee xbee = new XBee(); 

     try { 
      xbee.open("COM22", 9600); 
     } catch (XBeeException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 

    } 

} 

我得到以下几点:

java.lang.UnsatisfiedLinkError: no rxtxSerial in java.library.path thrown while loading gnu.io.RXTXCommDriver 
Exception in thread "main" java.lang.NoClassDefFoundError: Could not initialize class gnu.io.RXTXVersion 
    at gnu.io.CommPortIdentifier.<clinit>(CommPortIdentifier.java:123) 
    at com.rapplogic.xbee.RxTxSerialComm.openSerialPort(RxTxSerialComm.java:71) 
    at com.rapplogic.xbee.RxTxSerialComm.openSerialPort(RxTxSerialComm.java:61) 
    at com.rapplogic.xbee.api.XBee.open(XBee.java:140) 
    at Xbee.XbeeTest.main(XbeeTest.java:14) 

整个问题是,它不能初始化类gnu.io.RXTXversion,这是一个rtxtcomm.jar,我已经在我的Maven依赖项中包含了prt:

<dependency> 
    <groupId>org.bidib.jbidib.org.qbang.rxtx</groupId> 
    <artifactId>rxtxcomm</artifactId> 
    <version>2.2</version> 
</dependency> 

任何想法?谢谢。

+0

类gnu.io.RXTXversion,这是一个PRT rtxtcomm.jar,这意味着这个类存在于这个jar吗? – Kick

+0

是的,这意味着..我犯了一个错字 – MichalB

+2

我认为你也需要一些本地库。类似于librxtxSerial.so或rxtxSerial.dll取决于您OS – user1516873

回答

1

正如我之前在评论中提到的那样,您还需要本地库来使其工作。把它放在$ {JRE_HOME}/lib目录/ I386

好的文章:http://pharos.ece.utexas.edu/wiki/index.php/How_to_Access_Your_Serial_Port_using_Java

,并引述文章:

$ wget的http://rxtx.qbang.org/pub/rxtx/rxtx-2.1-7-bins-r2.zip

解压RXTX归档并安装它。以下命令假定您的JVM位于/ usr/lib/jvm/java-6-openjdk /中,并且您使用的是32位x86计算机的 ,即 。如果您有不同的JVM或系统体系结构(即, 64位),则需要稍微修改这些 命令。

$ sudo易于得到安装拉链

$解压rxtx-2.1-7-bins-r2.zip

$ CD RXTX-2.1-7-箱-R2

$ sudo的CP RXTXcomm.jar/usr/lib/jvm/java-6 -openjdk/jre/lib/ext/

$ sudo cp Linux/i686-unknown-linux-gnu/librxtx */usr/lib/jvm/java- 6-openjdk/jre/lib/i386/

0
  1. Java Build Path - > Source - > Native library location - >添加您的rxtxso和Comm jar文件。
  2. Java构建路径 - >添加外部JAR - > RXTXcomm.jar
  3. Java构建路径 - >在线订单和出口 - >点击RXTXcomm.jar
相关问题