From ea59976277fef1df6a8c09311cf7b683fe24f3ab Mon Sep 17 00:00:00 2001 From: Dave Syer Date: Mon, 30 Dec 2013 14:24:54 +0000 Subject: [PATCH] Extract package discovery to separate method --- .../boot/loader/LaunchedURLClassLoader.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/spring-boot-tools/spring-boot-loader/src/main/java/org/springframework/boot/loader/LaunchedURLClassLoader.java b/spring-boot-tools/spring-boot-loader/src/main/java/org/springframework/boot/loader/LaunchedURLClassLoader.java index 910eabd1b0..c8ffb30da0 100644 --- a/spring-boot-tools/spring-boot-loader/src/main/java/org/springframework/boot/loader/LaunchedURLClassLoader.java +++ b/spring-boot-tools/spring-boot-loader/src/main/java/org/springframework/boot/loader/LaunchedURLClassLoader.java @@ -122,7 +122,9 @@ public class LaunchedURLClassLoader extends URLClassLoader { // 2) Try to find locally try { - return findClass(name); + findPackage(name); + Class cls = findClass(name); + return cls; } catch (Exception ex) { } @@ -131,8 +133,7 @@ public class LaunchedURLClassLoader extends URLClassLoader { return super.loadClass(name, false); } - @Override - protected Class findClass(final String name) throws ClassNotFoundException { + private void findPackage(final String name) throws ClassNotFoundException { int lastDot = name.lastIndexOf('.'); if (lastDot != -1) { String packageName = name.substring(0, lastDot); @@ -145,14 +146,13 @@ public class LaunchedURLClassLoader extends URLClassLoader { } } } - return super.findClass(name); } /** * Define a package before a {@code findClass} call is made. This is necessary to * ensure that the appropriate manifest for nested JARs associated with the package. * @param name the class name being found - * @param packageName the pacakge + * @param packageName the package */ private void definePackageForFindClass(final String name, final String packageName) { try {