2016-05-17 9 views
0

Ich versuche, die WZwave-Bibliothek in meinem Maven-Projekt einzurichten. Ich folgte Anweisung auf der setup Seite (auch installiert die RXTX-Bibliothek wie in this Video beschrieben). Nach dem Ausführen der Anwendung bekomme ich folgende Fehlermeldung:Fehlende Klasse in JAR-Datei. NoClassDefFoundError Ausnahme zurückgegeben

Exception in thread "main" java.lang.NoClassDefFoundError:  
    io/netty/channel/rxtx/RxtxDeviceAddress 
    at asd.WZWaveTest.<init>(WZWaveTest.java:13) 
    at asd.WZWaveTest.main(WZWaveTest.java:27) 
    Caused by: java.lang.ClassNotFoundException:  
    io.netty.channel.rxtx.RxtxDeviceAddress 
    at java.net.URLClassLoader.findClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    ... 2 more 

Wenn ich richtig verstanden hat, ist die netty-Transport-JAR-Datei der Definition der Klasse RxtxDeviceAddress fehlt.

Ich habe versucht, auf die neueste Version der JAR-Datei (4.0.36) zu aktualisieren, aber das Problem besteht fort.

Weiß jemand, was sonst könnte falsch sein?

EDIT1: My pom.xml ist das gleiche wie die von der Setup-Seite (oben verlinkten), mit einigen verschiedenen Eigenschaften (I den „Version“ Tag des netty-Transport dependeny aktualisiert, um zu sehen, wenn die Klasse existierte dort):

Ich versuche zu laufen, wenn von der Eclipse-IDE.

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>asd</groupId> 
    <artifactId>asd</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <packaging>jar</packaging> 
    <dependencies> 
     <dependency> 
     <groupId>com.whizzosoftware</groupId> 
     <artifactId>wzwave</artifactId> 
     <version>0.0.3</version> 
     </dependency> 
     <dependency> 
     <groupId>io.netty</groupId> 
     <artifactId>netty-transport</artifactId> 
     <version>4.0.36.Final</version> 
     <scope>runtime</scope> 
     </dependency> 
    </dependencies> 
</project> 

EDIT2: Es funktioniert. Wie @Darek herausfand, lag das Problem in der fehlenden Jar-Abhängigkeit. Ich habe netty-all.jar und ein paar andere hinzugefügt, und es fing an zu arbeiten. Vielen Dank.

@Darek: Wenn Sie Ihren Kommentar als Antwort schreiben, werde ich mich freuen, es zu akzeptieren.

+1

Klasse Zeigen Sie uns Ihre 'pom.xml' Datei nach der Montage von Glas usw.? – Darek

Antwort

1

Ich vermute, dass es notwendig ist, netty-all Abhängigkeit hinzuzufügen. Warum? Überprüfen Sie, wo Sie finden RxtxDeviceAddress Klasse

Verwandte Themen