diff --git a/core/src/main/java/org/elasticsearch/plugins/PluginsService.java b/core/src/main/java/org/elasticsearch/plugins/PluginsService.java index 4cd5f114616..5ebd43d5026 100644 --- a/core/src/main/java/org/elasticsearch/plugins/PluginsService.java +++ b/core/src/main/java/org/elasticsearch/plugins/PluginsService.java @@ -316,7 +316,8 @@ public class PluginsService extends AbstractComponent { // gather urls for jar files try (DirectoryStream jarStream = Files.newDirectoryStream(module, "*.jar")) { for (Path jar : jarStream) { - bundle.urls.add(jar.toUri().toURL()); + // normalize with toRealPath to get symlinks out of our hair + bundle.urls.add(jar.toRealPath().toUri().toURL()); } } bundles.add(bundle); @@ -357,7 +358,8 @@ public class PluginsService extends AbstractComponent { // a jvm plugin: gather urls for jar files try (DirectoryStream jarStream = Files.newDirectoryStream(plugin, "*.jar")) { for (Path jar : jarStream) { - urls.add(jar.toUri().toURL()); + // normalize with toRealPath to get symlinks out of our hair + urls.add(jar.toRealPath().toUri().toURL()); } } }