缺少jar文件中的类。返回NoClassDefFoundError异常

时间:2016-05-17 17:35:09

标签: java pom.xml noclassdeffounderror

我试图在我的maven项目中设置WZwave库。我按照setup页面上的说明操作(也按this视频中所述安装了RXTX库)。运行应用程序后,我收到以下错误:

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

如果我理解正确,netty-transport jar文件缺少类RxtxDeviceAddress的定义。

我尝试更新到最新版本的jar文件(4.0.36),但问题仍然存在。

有谁知道,还有什么可能是错的?

EDIT1 :我的pom.xml与设置页面(上面链接的)相同,带有一些不同的属性(我更新了&#34;版本&#34;标签netty-transport依旧看,如果班级存在那里):

我试图从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:它正在运作。正如@Darek指出的那样,问题在于缺少jar依赖性。我添加了netty-all.jar和其他几个,它开始工作了。谢谢。

@Darek:如果你把评论写成答案,我会乐意接受。

1 个答案:

答案 0 :(得分:1)

我猜测需要添加netty-all依赖项。为什么?检查GrepCode

RxtxDeviceAddress课程的位置