From e7519b9b8f533b17eb3afaf78112f0030784cad5 Mon Sep 17 00:00:00 2001 From: Dave Syer Date: Fri, 24 Feb 2017 14:28:16 +0000 Subject: [PATCH] Fix class path in launcher command You only need the deployer jar on the classpath (and the system classpath). Nothing else matters and it can screw up the thin launcher classpath if there are remnants of Guice or Guava or Aether. --- .../springframework/cloud/launcher/cli/LauncherCommand.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) 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 b482bcb..cb161d7 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 @@ -179,13 +179,14 @@ public class LauncherCommand extends OptionParsingCommand { AetherGrapeEngine grapeEngine = AetherGrapeEngineFactory.create(null, repositoryConfiguration, resolutionContext); - HashMap dependency = new HashMap<>(); + HashMap dependency = new HashMap<>(); dependency.put("group", "org.springframework.cloud.launcher"); dependency.put("module", "spring-cloud-launcher-deployer"); dependency.put("version", getVersion()); + dependency.put("transitive", false); URI[] uris = grapeEngine.resolve(null, dependency); URLClassLoader loader = new URLClassLoader(new URL[] { uris[0].toURL() }, - getClass().getClassLoader().getParent()); + getClass().getClassLoader().getParent().getParent()); log.debug("resolved URIs " + Arrays.asList(loader.getURLs())); return loader; }