【问题标题】:Maven surefire java 8 with EasyMock yields: java.lang.NoClassDefFoundError: Could not initialize class com.sun.proxy.$Proxy33带有 EasyMock 的 Maven surefire java 8 产生:java.lang.NoClassDefFoundError:无法初始化类 com.sun.proxy.$Proxy33
【发布时间】:2017-02-24 14:42:15
【问题描述】:

我正在尝试将我们的应用程序升级到 Java 8,但在使用 maven 和 surefire 时遇到了一些问题。当我运行我所有的单元测试时,使用 EasyMock.createMock 时,其中一些会失败,并出现以下错误:java.lang.NoClassDefFoundError: Could not initialize class com.sun.proxy.$Proxy33。并非所有 EasyMock.createMock 实例都失败了,而且我找不到任何关于我们模拟失败的类的特别之处。此外,如果我在 IntelliJ 内部运行单元测试,它工作得非常好。只有直接通过maven运行它才会失败。我找不到任何导致此问题的原因,但我假设它必须是某种类路径问题。任何帮助将不胜感激。

【问题讨论】:

    标签: maven java-8 easymock maven-surefire-plugin


    【解决方案1】:

    这是一个奇怪的错误。 Proxy33 意味着您正在模拟一个界面。并且在类加载时失败了。

    检查您的代码中是否有静态初始化程序。您还可以将远程调试添加到 maven 并中断异常。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-10
      • 2013-08-08
      • 2020-09-27
      • 2012-08-26
      • 2015-10-29
      • 2017-09-12
      • 2016-07-07
      相关资源
      最近更新 更多