2014-03-04 148 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
相關問題