dropwizard + Powermock + Mockito + Maven 构建错误与 ClassNotFoundException "ThreadSafeMockingProgress"

dropwizard + Powermock + Mockito + Maven build error with ClassNotFoundException "ThreadSafeMockingProgress"

为了测试静态方法,我使用了 Power mock 并且 pom.xml 为此条目是

    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.8.1</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.mockito</groupId>
        <artifactId>mockito-all</artifactId>
        <version>1.8.5</version>
        <scope>test</scope>
    </dependency>

          <dependency>
        <groupId>org.powermock</groupId>
        <artifactId>powermock-api-mockito</artifactId>
        <version>1.4.9</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.powermock</groupId>
        <artifactId>powermock-module-junit4</artifactId>
        <version>1.4.9</version>
        <scope>test</scope>
    </dependency>

`

我正在从命令提示符 运行ning 测试用例,它给我类似

的错误
java.lang.RuntimeException: java.lang.ClassNotFoundException: org.mockito.internal.progress.ThreadSafeMockingProgress
at org.powermock.api.support.ClassLoaderUtil.loadClass(ClassLoaderUtil.java:52)

但是从 Intellij ide,如果我 运行 所有测试用例(右键单击项目 + 运行 "All tests")它工作得很好。有人对这个问题有任何 ide 意见吗?

当您在 pom.xml 中定义 power mock jar 时,您不需要显式定义依赖 jar,因为不兼容的版本可能会出现在类路径中。使用以下两个版本并删除 pom 中的 mockito 依赖项。

<dependency>
        <groupId>org.powermock</groupId>
        <artifactId>powermock-module-junit4</artifactId>
        <version>1.5.4</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.powermock</groupId>
        <artifactId>powermock-api-mockito</artifactId>
        <version>1.5.4</version>
        <scope>test</scope>
    </dependency>