diff --git a/spring-cloud-launcher/spring-cloud-launcher-cli/src/main/java/org/springframework/cloud/launcher/cli/LauncherCommand.java b/spring-cloud-launcher/spring-cloud-launcher-cli/src/main/java/org/springframework/cloud/launcher/cli/LauncherCommand.java index c4e7f9b..b6a62d5 100644 --- a/spring-cloud-launcher/spring-cloud-launcher-cli/src/main/java/org/springframework/cloud/launcher/cli/LauncherCommand.java +++ b/spring-cloud-launcher/spring-cloud-launcher-cli/src/main/java/org/springframework/cloud/launcher/cli/LauncherCommand.java @@ -188,11 +188,21 @@ public class LauncherCommand extends OptionParsingCommand { dependency.put("transitive", false); URI[] uris = grapeEngine.resolve(null, dependency); URLClassLoader loader = new URLClassLoader(new URL[] { uris[0].toURL() }, - getClass().getClassLoader().getParent().getParent()); + systemClassLoader(getClass().getClassLoader())); log.debug("resolved URIs " + Arrays.asList(loader.getURLs())); return loader; } + private ClassLoader systemClassLoader(ClassLoader classLoader) { + if (classLoader.getParent().getParent()!=null) { + if (classLoader.getParent().getParent().getParent()!=null) { + return classLoader.getParent().getParent().getParent(); + } + return classLoader.getParent().getParent(); + } + return classLoader.getParent(); + } + private String getVersion() { Package pkg = LauncherCommand.class.getPackage(); String version = (pkg != null ? pkg.getImplementationVersion() diff --git a/spring-cloud-launcher/spring-cloud-launcher-deployer/pom.xml b/spring-cloud-launcher/spring-cloud-launcher-deployer/pom.xml index 3bc8f94..a235d24 100644 --- a/spring-cloud-launcher/spring-cloud-launcher-deployer/pom.xml +++ b/spring-cloud-launcher/spring-cloud-launcher-deployer/pom.xml @@ -17,9 +17,9 @@ - 1.3.8.RELEASE - 1.3.3.RELEASE - 1.0.15.RELEASE + 2.0.4.RELEASE + 2.0.3.RELEASE + 1.0.22.RELEASE