java.lang.NoClassDefFoundError: Could not initialize class org.powermock.modules.junit4.rule.PowerMockRule

java.lang.NoClassDefFoundError: Could not initialize class org.powermock.modules.junit4.rule.PowerMockRule

我正在尝试 运行 在遗留 Java 项目中进行测试,但出现此错误:

java.lang.NoClassDefFoundError: Could not initialize class org.powermock.modules.junit4.rule.PowerMockRule

导致问题的代码如下:

@Rule
public PowerMockRule rule = new PowerMockRule();

并且 PowerMock 版本是 1.5.6

 <dependency>
      <groupId>org.powermock</groupId>
      <artifactId>powermock-module-junit4</artifactId>
      <version>1.5.6</version>
      <scope>test</scope>
 </dependency>

即使更新到最新版本 PowerMock - 版本 2.0.5

,错误也没有改变

添加此依赖项以消除 NoClassDefFoundError

<dependency>
  <groupId>org.powermock</groupId>
  <artifactId>powermock-module-junit4-rule</artifactId>
  <version>2.0.5</version>
  <scope>test</scope>
</dependency>

powermock-module-junit4-1.5.6.jar 没有 PowerMockRule class 文件。所以使用 powermock-module-junit4-rule-2.0.5.jar

参考这个documentation

希望对您有所帮助。