From: Decebal Suiu Date: Mon, 2 Jun 2014 13:05:30 +0000 (+0300) Subject: fix an issue that occurs when the plugin developer put the pf4j jar in the plugin... X-Git-Tag: release-0.9.0~9 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=f508484004b0d71bd146eadd0cb1f7de1db43952;p=pf4j.git fix an issue that occurs when the plugin developer put the pf4j jar in the plugin's lib folder (or not declare the pf4j dependency with scope provided in pom.xml) --- diff --git a/pf4j/src/main/java/ro/fortsoft/pf4j/PluginClassLoader.java b/pf4j/src/main/java/ro/fortsoft/pf4j/PluginClassLoader.java index 5573703..055c163 100644 --- a/pf4j/src/main/java/ro/fortsoft/pf4j/PluginClassLoader.java +++ b/pf4j/src/main/java/ro/fortsoft/pf4j/PluginClassLoader.java @@ -60,6 +60,15 @@ public class PluginClassLoader extends URLClassLoader { } */ + // if the class it's a part of the plugin engine use parent class loader + if (className.startsWith(PLUGIN_PACKAGE_PREFIX)) { + try { + return PluginClassLoader.class.getClassLoader().loadClass(className); + } catch (ClassNotFoundException e) { + // try next step + } + } + // second check whether it's already been loaded Class loadedClass = findLoadedClass(className); if (loadedClass != null) { @@ -73,15 +82,6 @@ public class PluginClassLoader extends URLClassLoader { // try next step } - // if the class it's a part of the plugin engine use parent class loader - if (className.startsWith(PLUGIN_PACKAGE_PREFIX)) { - try { - return PluginClassLoader.class.getClassLoader().loadClass(className); - } catch (ClassNotFoundException e) { - // try next step - } - } - // look in dependencies List dependencies = pluginDescriptor.getDependencies(); for (PluginDependency dependency : dependencies) {