Merge branch '1.5.x'

pull/7184/head
Andy Wilkinson 8 years ago
commit 2a685a8c15

@ -24,9 +24,9 @@ import java.net.URLConnection;
import java.security.AccessController; import java.security.AccessController;
import java.security.PrivilegedExceptionAction; import java.security.PrivilegedExceptionAction;
import java.util.Enumeration; import java.util.Enumeration;
import java.util.jar.JarFile;
import org.springframework.boot.loader.jar.Handler; import org.springframework.boot.loader.jar.Handler;
import org.springframework.boot.loader.jar.JarFile;
/** /**
* {@link ClassLoader} used by the {@link Launcher}. * {@link ClassLoader} used by the {@link Launcher}.
@ -131,8 +131,10 @@ public class LaunchedURLClassLoader extends URLClassLoader {
String classEntryName = className.replace(".", "/") + ".class"; String classEntryName = className.replace(".", "/") + ".class";
for (URL url : getURLs()) { for (URL url : getURLs()) {
try { try {
if (url.getContent() instanceof JarFile) { URLConnection connection = url.openConnection();
JarFile jarFile = (JarFile) url.getContent(); if (connection instanceof JarURLConnection) {
JarFile jarFile = ((JarURLConnection) connection)
.getJarFile();
if (jarFile.getEntry(classEntryName) != null if (jarFile.getEntry(classEntryName) != null
&& jarFile.getEntry(packageEntryName) != null && jarFile.getEntry(packageEntryName) != null
&& jarFile.getManifest() != null) { && jarFile.getManifest() != null) {
@ -175,8 +177,8 @@ public class LaunchedURLClassLoader extends URLClassLoader {
private void clearCache(URLConnection connection) throws IOException { private void clearCache(URLConnection connection) throws IOException {
Object jarFile = ((JarURLConnection) connection).getJarFile(); Object jarFile = ((JarURLConnection) connection).getJarFile();
if (jarFile instanceof JarFile) { if (jarFile instanceof org.springframework.boot.loader.jar.JarFile) {
((JarFile) jarFile).clearCache(); ((org.springframework.boot.loader.jar.JarFile) jarFile).clearCache();
} }
} }

Loading…
Cancel
Save