diff --git a/spring-test/src/main/java/org/springframework/test/context/TestContextManager.java b/spring-test/src/main/java/org/springframework/test/context/TestContextManager.java index 7dc086f74d..297c8b2e88 100644 --- a/spring-test/src/main/java/org/springframework/test/context/TestContextManager.java +++ b/spring-test/src/main/java/org/springframework/test/context/TestContextManager.java @@ -21,6 +21,7 @@ import java.lang.reflect.Method; import java.util.ArrayList; import java.util.Collections; import java.util.List; +import java.util.function.Supplier; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -94,8 +95,15 @@ public class TestContextManager { private final TestContext testContext; - private final ThreadLocal testContextHolder = - ThreadLocal.withInitial(() -> copyTestContext(TestContextManager.this.testContext)); + private final ThreadLocal testContextHolder = ThreadLocal.withInitial( + // Implemented as an anonymous inner class instead of a lambda expression due to a bug + // in Eclipse IDE: "The blank final field testContext may not have been initialized" + new Supplier() { + @Override + public TestContext get() { + return copyTestContext(TestContextManager.this.testContext); + } + }); private final List testExecutionListeners = new ArrayList<>();