Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'jetty-util/src/main/java/org/eclipse/jetty')
-rw-r--r--jetty-util/src/main/java/org/eclipse/jetty/util/resource/JarFileResource.java13
-rw-r--r--jetty-util/src/main/java/org/eclipse/jetty/util/resource/JarResource.java7
-rw-r--r--jetty-util/src/main/java/org/eclipse/jetty/util/resource/URLResource.java5
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;

Back to the top