Index: org.gvsig.desktop.framework/org.gvsig.andami/src/main/java/org/gvsig/andami/plugins/PluginClassLoader.java =================================================================== --- org.gvsig.desktop.framework/org.gvsig.andami/src/main/java/org/gvsig/andami/plugins/PluginClassLoader.java (revisiĆ³n: 42923) +++ org.gvsig.desktop.framework/org.gvsig.andami/src/main/java/org/gvsig/andami/plugins/PluginClassLoader.java (copia de trabajo) @@ -387,6 +387,11 @@ @Override public Enumeration getResources(String name) throws IOException { + HashSet visitedPlugins = new HashSet(); + return getResources(name, visitedPlugins); + } + + protected Enumeration getResources(String name, HashSet visitedPlugins) throws IOException { List resources = new ArrayList<>(); Enumeration aux = super.getResources(name); while(aux.hasMoreElements()){ @@ -393,12 +398,16 @@ URL url = aux.nextElement(); resources.add(url); } + visitedPlugins.add(this); + for(PluginClassLoader loader: this.pluginLoaders){ - aux = loader.getResources(name); - while(aux.hasMoreElements()){ - URL url = aux.nextElement(); - resources.add(url); - } + if (!visitedPlugins.contains(loader)) { + aux = loader.getResources(name, visitedPlugins); + while(aux.hasMoreElements()){ + URL url = aux.nextElement(); + resources.add(url); + } + } } return Collections.enumeration(resources);