I would like to request for an enhancement.

  • The PropertiesLauncher accepts a loader.path property, so the app can dynamically load a list of JAR file paths into classpath.
  • e.g. -Dloader.path=libs/a.jar,libs/b.jar
  • Spring Boot's Launcher class uses the LaunchedClassLoader that extends JarUrlClassLoader which supports loading JAR files located in a network location (HTTP / HTTPS URL).
  • However, PropertiesLauncher#getClassPathUrlsForPath(String path) always converts HTTP / HTTPS URLs into File objects, and prepend file:/<workdir>/, so no download happens.

The enhancement I'm requesting here is to handle HTTP / HTTPS URLs, so that JAR files can be loaded from HTTP / HTTPS URLs, e.g. -Dloader.path=https://xxx.com/a.jar,https://xxx.com/b.jar.

Comment From: philwebb

Thanks for the suggestion, but adding more complexity to the PropertiesLauncher isn't something were keen on doing right now. You might want to look at https://github.com/spring-projects-experimental/spring-boot-thin-launcher which is a launcher implementation that downloads jars as needed.