我可以从 IntelliJ 运行的 JUnit 测试中排除依赖项吗?

Jar*_*red 5 java junit unit-testing intellij-idea maven

我正在使用 JUnit 4/Mockito/PowerMock 作为遗留应用程序的单元测试套件。PowerMock 依赖于 javassist:org.javassist:javassist:jar:3.20.0-GA:test

我们还依赖于旧版本的 Hibernate,它引入了旧版本的 javassist: javassist:javassist:jar:3.12.0.GA:compile

旧版本的 javassist 混淆了单元测试,导致了一个神秘的异常: java.io.IOException: invalid constant type: 18

当直接通过 Maven 运行测试时,我可以通过从 POM 中运行的单元测试中排除旧的 jar 来解决问题。

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.19.1</version>
    <configuration>
        <classpathDependencyExcludes>
            <!-- our version of Hibernate pulls in a javassist dependency that is incompatible with Java8
                this can be removed once we upgrade Hibernate -->
            <classpathDependencyExclude>javassist:javassist</classpathDependencyExclude>
        </classpathDependencyExcludes>
    </configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)

然而,当直接在 IntelliJ 中运行测试时,错误仍然发生。无法从 IDE 轻松调试测试是一个主要问题,所以我希望有什么方法可以让 IntelliJ 也排除旧的依赖项,直到我们最终可以升级我们的 Hibernate 依赖项。