Initialize BundleWebResource only once.
diff --git a/org.eclipse.gemini.web.tomcat/src/main/java/org/eclipse/gemini/web/tomcat/internal/bundleresources/BundleWebResource.java b/org.eclipse.gemini.web.tomcat/src/main/java/org/eclipse/gemini/web/tomcat/internal/bundleresources/BundleWebResource.java
index a80557c..9507af4 100644
--- a/org.eclipse.gemini.web.tomcat/src/main/java/org/eclipse/gemini/web/tomcat/internal/bundleresources/BundleWebResource.java
+++ b/org.eclipse.gemini.web.tomcat/src/main/java/org/eclipse/gemini/web/tomcat/internal/bundleresources/BundleWebResource.java
@@ -254,13 +254,14 @@
     public URL getURL() {
         if (this.url == null) {
             this.url = getEntryFromBundle(this.path);
-        }
-        String urlStr = this.url.toString();
-        if (urlStr.endsWith(".jar")) {
-            try {
-                this.url = UriUtil.buildJarUrl(urlStr);
-            } catch (MalformedURLException e) {
-                throw new IllegalArgumentException(e);
+
+            String urlStr = this.url.toString();
+            if (urlStr.endsWith(".jar")) {
+                try {
+                    this.url = UriUtil.buildJarUrl(urlStr);
+                } catch (MalformedURLException e) {
+                    throw new IllegalArgumentException(e);
+                }
             }
         }
         return this.url;