From c285a0f082d9f43c29a0df5172a72f164bfdb807 Mon Sep 17 00:00:00 2001 From: Dave Syer Date: Sat, 17 Nov 2018 15:27:11 +0000 Subject: [PATCH] Make test work on command line properly Surefire wraps everything in a .jar to run the tests, and the manifest has a main class, so that fools the main class detection. --- .../cloud/function/deployer/FunctionCreatorConfiguration.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/spring-cloud-function-deployer/src/main/java/org/springframework/cloud/function/deployer/FunctionCreatorConfiguration.java b/spring-cloud-function-deployer/src/main/java/org/springframework/cloud/function/deployer/FunctionCreatorConfiguration.java index 8a96d0b81..124a25ed6 100644 --- a/spring-cloud-function-deployer/src/main/java/org/springframework/cloud/function/deployer/FunctionCreatorConfiguration.java +++ b/spring-cloud-function-deployer/src/main/java/org/springframework/cloud/function/deployer/FunctionCreatorConfiguration.java @@ -220,7 +220,9 @@ class FunctionCreatorConfiguration { if (mainClass == null) { mainClass = manifest.getMainAttributes().getValue("Start-Class"); } - if (mainClass == null) { + if (mainClass == null + // Not surefire or IntelliJ + && !getArchive().getUrl().toString().endsWith(".jar!/")) { // Not a Spring Boot jar but it might have a "main" class mainClass = manifest.getMainAttributes().getValue("Main-Class"); }