diff --git a/spring-cloud-stream-module-launcher/src/main/java/org/springframework/cloud/stream/module/launcher/ModuleLauncher.java b/spring-cloud-stream-module-launcher/src/main/java/org/springframework/cloud/stream/module/launcher/ModuleLauncher.java index 31f0101dc..14017e7c0 100644 --- a/spring-cloud-stream-module-launcher/src/main/java/org/springframework/cloud/stream/module/launcher/ModuleLauncher.java +++ b/spring-cloud-stream-module-launcher/src/main/java/org/springframework/cloud/stream/module/launcher/ModuleLauncher.java @@ -31,7 +31,6 @@ import org.springframework.cloud.stream.module.resolver.AetherModuleResolver; import org.springframework.cloud.stream.module.resolver.ModuleResolver; import org.springframework.core.io.Resource; import org.springframework.util.Assert; -import org.springframework.util.FileSystemUtils; import org.springframework.util.StringUtils; /** diff --git a/spring-cloud-stream-module-launcher/src/main/java/org/springframework/cloud/stream/module/resolver/AetherModuleResolver.java b/spring-cloud-stream-module-launcher/src/main/java/org/springframework/cloud/stream/module/resolver/AetherModuleResolver.java index a2cd34d98..df642cccb 100644 --- a/spring-cloud-stream-module-launcher/src/main/java/org/springframework/cloud/stream/module/resolver/AetherModuleResolver.java +++ b/spring-cloud-stream-module-launcher/src/main/java/org/springframework/cloud/stream/module/resolver/AetherModuleResolver.java @@ -49,6 +49,7 @@ import org.springframework.util.CollectionUtils; * necessary. * * @author David Turanski + * @author Mark Fisher */ public class AetherModuleResolver implements ModuleResolver { @@ -67,7 +68,10 @@ public class AetherModuleResolver implements ModuleResolver { * may be null or empty if the local repository is off line. */ public AetherModuleResolver(File localRepository, Map remoteRepositories) { - Assert.isTrue(localRepository.exists(), "File " + localRepository + " does not exist."); + if (!localRepository.exists()) { + Assert.isTrue(localRepository.mkdirs(), + "Unable to create directory for local repository: " + localRepository); + } this.localRepository = localRepository; this.remoteRepositories = new LinkedList<>(); if (!CollectionUtils.isEmpty(remoteRepositories)) {