From f110aedc69cabe0a46ee2f5cab191794d3fecb82 Mon Sep 17 00:00:00 2001 From: Florian CUNY Date: Sat, 29 Sep 2018 15:01:45 +0200 Subject: [PATCH] Few fixes to AddonClassLoader Related to #280 Added handling for NoClassDefFoundError "Grammatically" fixed a few exception messages --- .../bentobox/bentobox/api/addons/AddonClassLoader.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/main/java/world/bentobox/bentobox/api/addons/AddonClassLoader.java b/src/main/java/world/bentobox/bentobox/api/addons/AddonClassLoader.java index 56f5bc886..e3f965ea9 100644 --- a/src/main/java/world/bentobox/bentobox/api/addons/AddonClassLoader.java +++ b/src/main/java/world/bentobox/bentobox/api/addons/AddonClassLoader.java @@ -46,17 +46,17 @@ public class AddonClassLoader extends URLClassLoader { String mainClass = data.getString("main"); javaClass = Class.forName(mainClass, true, this); if(mainClass.startsWith("world.bentobox.bentobox")){ - throw new InvalidAddonFormatException("Packages declaration cannot start with 'world.bentobox.bentobox'"); + throw new InvalidAddonFormatException("Package declaration cannot start with 'world.bentobox.bentobox'"); } } catch (Exception e) { throw new InvalidDescriptionException("Could not load '" + path.getName() + "' in folder '" + path.getParent() + "' - " + e.getMessage()); } Class addonClass; - try{ + try { addonClass = javaClass.asSubclass(Addon.class); - } catch(ClassCastException e){ - throw new InvalidAddonInheritException("Main class doesn't not extends super class 'Addon'"); + } catch (ClassCastException e) { + throw new InvalidAddonInheritException("Main class does not extend 'Addon'"); } addon = addonClass.getDeclaredConstructor().newInstance(); @@ -123,7 +123,7 @@ public class AddonClassLoader extends URLClassLoader { if (result == null) { try { result = super.findClass(name); - } catch (ClassNotFoundException e) { + } catch (ClassNotFoundException | NoClassDefFoundError e) { result = null; } if (result != null) {