diff --git a/platform/platform-impl/src/com/intellij/jps/impl/JpsIdePluginManagerImpl.java b/platform/platform-impl/src/com/intellij/jps/impl/JpsIdePluginManagerImpl.java index c079d388159d..72e7b8a4973e 100644 --- a/platform/platform-impl/src/com/intellij/jps/impl/JpsIdePluginManagerImpl.java +++ b/platform/platform-impl/src/com/intellij/jps/impl/JpsIdePluginManagerImpl.java @@ -68,11 +68,15 @@ public class JpsIdePluginManagerImpl extends JpsPluginManager { loaders.add(getClass().getClassLoader()); } + Set loadedUrls = new HashSet(); for (ClassLoader loader : loaders) { try { Enumeration resources = loader.getResources(resourceName); while (resources.hasMoreElements()) { - loadImplementations(resources.nextElement(), loader, classes); + URL url = resources.nextElement(); + if (loadedUrls.add(url.toExternalForm())) { + loadImplementations(url, loader, classes); + } } } catch (IOException e) {