使用eclipse进行编译和运行时没有问题,但是当我使用这些设置导出为jar时,我得到了Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: gnu/io/SerialPortEventListener
。
jar导出器没有导出我的扩展jar库?
答案 0 :(得分:2)
来自Exceptions JavaDoc的这句话有助于理解出现了什么问题:
当编译当前正在执行的类时,搜索的类定义存在,但无法再找到该定义。
你在eclipse上构建应用程序没有错误。因此, eclipse中的类路径定义足以编译所有类。
现在你导出它,运行它的 out eclipse并遇到这个错误。导出的应用程序不再使用eclipse项目类路径定义。并且该文件不包含包含gnu.io.SerialPortEventListener
的库。
一般解决方案是:修复导出的jar的类路径问题。
答案 1 :(得分:1)
这可能是一个依赖问题,但是,不要混淆ClassNotFoundException and NoClassDefFoundError。基本上,它是说初始化中存在一个问题:gnu/io/SerialPortEventListener
我会检查该类是否有错误作为起点。
答案 2 :(得分:1)
我用fatjar
解决了这个问题答案 3 :(得分:1)