【问题标题】:eclipse export jar java.lang.NoClassDefFoundError problemeclipse导出jar java.lang.NoClassDefFoundError问题
【发布时间】:2012-01-11 18:12:03
【问题描述】:

使用 eclipse 编译和运行时没有问题,但是当我使用这些设置导出为 jar 时,我得到了Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: gnu/io/SerialPortEventListener

jar 导出器没有导出我的扩展 jar 库?

【问题讨论】:

    标签: java eclipse jar


    【解决方案1】:

    Exceptions JavaDoc 中的这句话有助于理解问题所在:

    在编译当前执行的类时,搜索到的类定义存在,但无法再找到该定义。

    您已经在 Eclipse 上构建了应用程序,没有任何错误。所以 inside eclipse 的类路径定义足以编译所有类。

    现在你导出它,在 eclipse 中运行 out 并遇到该错误。导出的应用程序不再使用 eclipse 项目类路径定义。并且当前不包括包含gnu.io.SerialPortEventListener 的库。

    一般的解决办法是:修复导出的jar的classpath问题。

    【讨论】:

      【解决方案2】:

      这可能是一个依赖问题,但是,不要混淆ClassNotFoundException and NoClassDefFoundError。基本上,它是说初始化有问题:gnu/io/SerialPortEventListener 我会检查该类是否有错误作为起点。

      【讨论】:

      • 但是我在eclipse中编译运行没有问题
      【解决方案3】:

      我已经用 fatjar 解决了

      【讨论】:

        【解决方案4】:

        您也可以考虑使用名为 WinRun4J 的开源工具。

        这可以通过http://winrun4j.sourceforge.net/ 获得。

        我发现这使用起来既简单又有效。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-09-07
          相关资源
          最近更新 更多