From 61b9d548a3066fa9c5468111c00a48c017f33d84 Mon Sep 17 00:00:00 2001 From: Stephane Dallongeville <stephane.dallongeville@pasteur.fr> Date: Wed, 17 Nov 2021 17:21:40 +0100 Subject: [PATCH] Fixed MM JARs loading to not load duplicated libraries --- .../MicroManager/tools/MMUtils.java | 23 +++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/src/main/java/plugins/tprovoost/Microscopy/MicroManager/tools/MMUtils.java b/src/main/java/plugins/tprovoost/Microscopy/MicroManager/tools/MMUtils.java index cf5ba3c..7cf14be 100644 --- a/src/main/java/plugins/tprovoost/Microscopy/MicroManager/tools/MMUtils.java +++ b/src/main/java/plugins/tprovoost/Microscopy/MicroManager/tools/MMUtils.java @@ -152,7 +152,7 @@ public class MMUtils try { - loaded = loadJarFrom(new File(uManagerRep + FileUtil.separator + "plugins" + FileUtil.separator + loaded = loadJarsFrom(new File(uManagerRep + FileUtil.separator + "plugins" + FileUtil.separator + "Micro-Manager" + FileUtil.separator)); } finally @@ -840,7 +840,7 @@ public class MMUtils return true; } - private static boolean loadJarFrom(File microManagerDirectoryPath) + private static boolean loadJarsFrom(File microManagerDirectoryPath) { File[] files = FileUtil.getFiles(microManagerDirectoryPath, new FileFilter() { @@ -863,7 +863,26 @@ public class MMUtils final String ext = FileUtil.getFileExtension(path, false).toLowerCase(); if (ext.equals("jar") || ext.equals("class")) + { + // don't load libraries that area already included in Icy + if (path.contains("clojure")) + continue; + if (path.contains("rsyntaxtextarea")) + continue; + if (path.contains("swingx")) + continue; + if (path.contains("ome-xml")) + continue; + if (path.contains("jfreechart")) + continue; + if (path.contains("jcommon")) + continue; + if (path.contains("formats-")) + continue; + + // we can add it ((PluginClassLoader) cl).add(path); + } } } -- GitLab