diff options
Diffstat (limited to 'jetty-util/src/main/java/org/eclipse/jetty')
3 files changed, 21 insertions, 4 deletions
diff --git a/jetty-util/src/main/java/org/eclipse/jetty/util/resource/JarFileResource.java b/jetty-util/src/main/java/org/eclipse/jetty/util/resource/JarFileResource.java index a7fdc9f7ee..a7ba967139 100644 --- a/jetty-util/src/main/java/org/eclipse/jetty/util/resource/JarFileResource.java +++ b/jetty-util/src/main/java/org/eclipse/jetty/util/resource/JarFileResource.java @@ -185,6 +185,19 @@ class JarFileResource extends JarResource break; } } + + if (_directory && !_urlString.endsWith("/")) + { + _urlString+="/"; + try + { + _url=new URL(_urlString); + } + catch(MalformedURLException ex) + { + Log.warn(ex); + } + } } } diff --git a/jetty-util/src/main/java/org/eclipse/jetty/util/resource/JarResource.java b/jetty-util/src/main/java/org/eclipse/jetty/util/resource/JarResource.java index c79b1a6ed4..3362725133 100644 --- a/jetty-util/src/main/java/org/eclipse/jetty/util/resource/JarResource.java +++ b/jetty-util/src/main/java/org/eclipse/jetty/util/resource/JarResource.java @@ -125,6 +125,9 @@ public class JarResource extends URLResource public void copyTo(File directory) throws IOException { + if (!exists()) + return; + if(Log.isDebugEnabled())Log.debug("Extract "+this+" to "+directory); String urlString = this.getURL().toExternalForm().trim(); @@ -150,6 +153,10 @@ public class JarResource extends URLResource String entryName = entry.getName(); if ((subEntryName != null) && (entryName.startsWith(subEntryName))) { + // is the subentry really a dir? + if (!subEntryIsDir && subEntryName.length()+1==entryName.length() && entryName.endsWith("/")) + subEntryIsDir=true; + //if there is a particular subEntry that we are looking for, only //extract it. if (subEntryIsDir) diff --git a/jetty-util/src/main/java/org/eclipse/jetty/util/resource/URLResource.java b/jetty-util/src/main/java/org/eclipse/jetty/util/resource/URLResource.java index f7629c9c2b..c6b5c14d48 100644 --- a/jetty-util/src/main/java/org/eclipse/jetty/util/resource/URLResource.java +++ b/jetty-util/src/main/java/org/eclipse/jetty/util/resource/URLResource.java @@ -26,13 +26,10 @@ import org.eclipse.jetty.util.log.Log; /* ------------------------------------------------------------ */ /** Abstract resource class. - * - * - * */ public class URLResource extends Resource { - protected final URL _url; + protected URL _url; protected String _urlString; protected URLConnection _connection; |