我遇到了同样的问题(JUnit测试在Maven Surefire中失败,但在Eclipse中通过了),并设法通过将forkMode 始终设置为pom.xml中的maven surefire配置来解决了这个问题:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.12</version>
<configuration>
<forkMode>always</forkMode>
</configuration>
</plugin>
正如PeterPerhá?所指出的那样,自Surefire 2.14开始不推荐使用forkMode参数。从Surefire 2.14开始,请改用此命令:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.16</version>
<configuration>
<reuseForks>false</reuseForks>
<forkCount>1</forkCount>
</configuration>
</plugin>