diff --git a/spring-boot-cli/src/main/java/org/springframework/boot/cli/compiler/GroovyCompiler.java b/spring-boot-cli/src/main/java/org/springframework/boot/cli/compiler/GroovyCompiler.java index 1016c62f749..44db3e943d5 100644 --- a/spring-boot-cli/src/main/java/org/springframework/boot/cli/compiler/GroovyCompiler.java +++ b/spring-boot-cli/src/main/java/org/springframework/boot/cli/compiler/GroovyCompiler.java @@ -20,6 +20,7 @@ import groovy.lang.GroovyClassLoader; import groovy.lang.GroovyClassLoader.ClassCollector; import groovy.lang.GroovyCodeSource; +import java.io.File; import java.io.IOException; import java.lang.reflect.Field; import java.net.URL; @@ -184,7 +185,13 @@ public class GroovyCompiler { for (String source : sources) { List paths = ResourceUtils.getUrls(source, this.loader); for (String path : paths) { - compilationUnit.addSource(new URL(path)); + URL url = new URL(path); + if ("file".equals(url.getProtocol())) { + compilationUnit.addSource(new File(url.getFile())); + } + else { + compilationUnit.addSource(url); + } } }