diff --git a/build-web-container/copyJavaxToOsgi.sh b/build-web-container/copyJavaxToOsgi.sh
index 2a83cbd..25074da 100755
--- a/build-web-container/copyJavaxToOsgi.sh
+++ b/build-web-container/copyJavaxToOsgi.sh
@@ -7,6 +7,7 @@
 cp $SRC/javax.el-3.0.0.20150414.jar $REPO/javax.el/javax.el-3.0.0.jar
 cp $SRC/javax.mail-1.4.0.v201005080615.jar $REPO/javax.mail/javax.mail-1.4.0.v201005080615.jar
 cp $SRC/javax.persistence-2.1.0.v201304241213.jar $REPO/javax.persistence/javax.persistence-2.1.0.v201304241213.jar
+cp $SRC/javax.security.auth.message-1.1.0.jar $REPO/javax.security.auth.message/javax.security.auth.message-1.1.0.jar
 cp $SRC/javax.servlet-3.1.0.20150414.jar $REPO/javax.servlet/javax.servlet-3.1.0.jar
 cp $SRC/javax.servlet.jsp-2.3.0.jar $REPO/javax.servlet.jsp/javax.servlet.jsp-2.3.0.jar
 cp $SRC/javax.transaction-1.1.0.v201205091237.jar $REPO/javax.transaction/javax.transaction-1.1.0.v201205091237.jar
diff --git a/build-web-container/copyToOsgi.sh b/build-web-container/copyToOsgi.sh
index 216244c..f93961e 100755
--- a/build-web-container/copyToOsgi.sh
+++ b/build-web-container/copyToOsgi.sh
@@ -7,18 +7,18 @@
 cp $SRC/org.eclipse.virgo.util.io-3.6.3.*.jar $REPO/org.eclipse.virgo.util.io/org.eclipse.virgo.util.io-3.6.3.jar
 cp $SRC/org.eclipse.virgo.util.math-3.6.3.*.jar $REPO/org.eclipse.virgo.util.math/org.eclipse.virgo.util.math-3.6.3.jar
 cp $SRC/org.eclipse.virgo.util.parser.manifest-3.6.3.*.jar $REPO/org.eclipse.virgo.util.parser.manifest/org.eclipse.virgo.util.parser.manifest-3.6.3.jar
-cp $SRC/org.apache.catalina.ha-8.0.21.jar $REPO/org.apache.catalina.ha/org.apache.catalina.ha-8.0.21.jar
-cp $SRC/org.apache.catalina-8.0.21.jar $REPO/org.apache.catalina/org.apache.catalina-8.0.21.jar
-cp $SRC/org.apache.catalina.tribes-8.0.21.jar $REPO/org.apache.catalina.tribes/org.apache.catalina.tribes-8.0.21.jar
-cp $SRC/org.apache.coyote-8.0.21.jar $REPO/org.apache.coyote/org.apache.coyote-8.0.21.jar
-cp $SRC/org.apache.el-8.0.21.jar $REPO/org.apache.el/org.apache.el-8.0.21.jar
-cp $SRC/org.apache.jasper-8.0.21.jar $REPO/org.apache.jasper/org.apache.jasper-8.0.21.jar
-cp $SRC/org.apache.juli.extras-8.0.21.jar $REPO/org.apache.juli.extras/org.apache.juli.extras-8.0.21.jar
-cp $SRC/org.apache.tomcat.api-8.0.21.jar $REPO/org.apache.tomcat.api/org.apache.tomcat.api-8.0.21.jar
-cp $SRC/org.apache.tomcat.jni-8.0.21.jar $REPO/org.apache.tomcat.jni/org.apache.tomcat.jni-8.0.21.jar
-cp $SRC/org.apache.tomcat.util-8.0.21.jar $REPO/org.apache.tomcat.util/org.apache.tomcat.util-8.0.21.jar
-cp $SRC/org.apache.tomcat.util.scan-8.0.21.jar $REPO/org.apache.tomcat.util.scan/org.apache.tomcat.util.scan-8.0.21.jar
-cp $SRC/org.apache.tomcat.websocket-8.0.21.jar $REPO/org.apache.tomcat.websocket/org.apache.tomcat.websocket-8.0.21.jar
+cp $SRC/org.apache.catalina.ha-8.5.5.jar $REPO/org.apache.catalina.ha/org.apache.catalina.ha-8.5.5.jar
+cp $SRC/org.apache.catalina-8.5.5.jar $REPO/org.apache.catalina/org.apache.catalina-8.5.5.jar
+cp $SRC/org.apache.catalina.tribes-8.5.5.jar $REPO/org.apache.catalina.tribes/org.apache.catalina.tribes-8.5.5.jar
+cp $SRC/org.apache.coyote-8.5.5.jar $REPO/org.apache.coyote/org.apache.coyote-8.5.5.jar
+cp $SRC/org.apache.el-8.5.5.jar $REPO/org.apache.el/org.apache.el-8.5.5.jar
+cp $SRC/org.apache.jasper-8.5.5.jar $REPO/org.apache.jasper/org.apache.jasper-8.5.5.jar
+cp $SRC/org.apache.juli.extras-8.5.5.jar $REPO/org.apache.juli.extras/org.apache.juli.extras-8.5.5.jar
+cp $SRC/org.apache.tomcat.api-8.5.5.jar $REPO/org.apache.tomcat.api/org.apache.tomcat.api-8.5.5.jar
+cp $SRC/org.apache.tomcat.jni-8.5.5.jar $REPO/org.apache.tomcat.jni/org.apache.tomcat.jni-8.5.5.jar
+cp $SRC/org.apache.tomcat.util-8.5.5.jar $REPO/org.apache.tomcat.util/org.apache.tomcat.util-8.5.5.jar
+cp $SRC/org.apache.tomcat.util.scan-8.5.5.jar $REPO/org.apache.tomcat.util.scan/org.apache.tomcat.util.scan-8.5.5.jar
+cp $SRC/org.apache.tomcat.websocket-8.5.5.jar $REPO/org.apache.tomcat.websocket/org.apache.tomcat.websocket-8.5.5.jar
 cp $SRC/org.eclipse.gemini.web.core-2.2.1.*.jar $REPO/org.eclipse.gemini.web.core/org.eclipse.gemini.web.core-2.2.1.jar
 cp $SRC/org.eclipse.gemini.web.extender-2.2.1.*.jar $REPO/org.eclipse.gemini.web.extender/org.eclipse.gemini.web.extender-2.2.1.jar
 cp $SRC/org.eclipse.gemini.web.tomcat-2.2.1.*.jar $REPO/org.eclipse.gemini.web.tomcat/org.eclipse.gemini.web.tomcat-2.2.1.jar
diff --git a/build-web-container/resources/About.html b/build-web-container/resources/About.html
index 393822f..9e106ef 100644
--- a/build-web-container/resources/About.html
+++ b/build-web-container/resources/About.html
@@ -45,7 +45,7 @@
 		This product contains software developed by the Apache Software Foundation (<a href="http://www.apache.org">http://www.apache.org</a>).
 		<ul>
 			<li>
-				Apache Tomcat 8.0.21 - binary and source is available from the
+				Apache Tomcat 8.5.5 - binary and source is available from the
 				<a href="http://tomcat.apache.org/">Apache Tomcat project</a>
 			</li>
 		</ul>
diff --git a/build.versions b/build.versions
index 5d30a8d..e210c86 100644
--- a/build.versions
+++ b/build.versions
@@ -13,6 +13,7 @@
 javax.el=3.0.0.20150414
 javax.mail=1.4.0.v201005080615
 javax.persistence=2.1.0.v201304241213
+javax.security.auth.message=1.1.0
 javax.servlet.jsp=2.3.0
 javax.servlet.jstl=1.2.0.v201105211821
 javax.servlet=3.1.0.20150414
@@ -24,7 +25,7 @@
 org.eclipse.osgi=3.10.100.v20150529-1857
 org.eclipse.osgi.services=3.5.0.v20150519-2006
 org.eclipse.equinox.event=1.3.100.v20140115-1647
-org.apache.catalina=8.0.21
+org.apache.catalina=8.5.5
 org.eclipse.jdt=3.11.0.v20150602-1242
 org.slf4j.api=1.7.2.v20121108-1250
 org.slf4j.nop=1.7.2.v201212060727
diff --git a/org.eclipse.gemini.web.core/.classpath b/org.eclipse.gemini.web.core/.classpath
index a7adfda..8d504d0 100644
--- a/org.eclipse.gemini.web.core/.classpath
+++ b/org.eclipse.gemini.web.core/.classpath
@@ -22,12 +22,12 @@
 	</classpathentry>
 	<classpathentry kind="var" path="IVY_CACHE/org.junit/com.springsource.org.junit/4.7.0/com.springsource.org.junit-4.7.0.jar" sourcepath="/IVY_CACHE/org.junit/com.springsource.org.junit/4.7.0/com.springsource.org.junit-sources-4.7.0.jar"/>
 	<classpathentry kind="var" path="IVY_CACHE/org.eclipse.virgo.mirrored/org.slf4j.api/1.7.2.v20121108-1250/org.slf4j.api-1.7.2.v20121108-1250.jar" sourcepath="/IVY_CACHE/org.eclipse.virgo.mirrored/org.slf4j.api/1.7.2.v20121108-1250/org.slf4j.api-sources-1.7.2.v20121108-1250.jar"/>
-	<classpathentry kind="var" path="IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.catalina/8.0.21/org.apache.catalina-8.0.21.jar" sourcepath="/IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.catalina/8.0.21/org.apache.catalina.source-8.0.21.jar"/>
-	<classpathentry kind="var" path="IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.juli/8.0.21/org.apache.juli-8.0.21.jar" sourcepath="/IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.juli/8.0.21/org.apache.juli.source-8.0.21.jar"/>
-	<classpathentry kind="var" path="IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.jasper/8.0.21/org.apache.jasper-8.0.21.jar" sourcepath="/IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.jasper/8.0.21/org.apache.jasper.source-8.0.21.jar"/>
-	<classpathentry kind="var" path="IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.catalina.ha/8.0.21/org.apache.catalina.ha-8.0.21.jar" sourcepath="/IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.catalina.ha/8.0.21/org.apache.catalina.ha.source-8.0.21.jar"/>
-	<classpathentry kind="var" path="IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.catalina.tribes/8.0.21/org.apache.catalina.tribes-8.0.21.jar" sourcepath="/IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.catalina.tribes/8.0.21/org.apache.catalina.tribes.source-8.0.21.jar"/>
-	<classpathentry kind="var" path="IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.coyote/8.0.21/org.apache.coyote-8.0.21.jar" sourcepath="/IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.coyote/8.0.21/org.apache.coyote.source-8.0.21.jar"/>
+	<classpathentry kind="var" path="IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.catalina/8.5.5/org.apache.catalina-8.5.5.jar" sourcepath="/IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.catalina/8.5.5/org.apache.catalina.source-8.5.5.jar"/>
+	<classpathentry kind="var" path="IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.juli/8.5.5/org.apache.juli-8.5.5.jar" sourcepath="/IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.juli/8.5.5/org.apache.juli.source-8.5.5.jar"/>
+	<classpathentry kind="var" path="IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.jasper/8.5.5/org.apache.jasper-8.5.5.jar" sourcepath="/IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.jasper/8.5.5/org.apache.jasper.source-8.5.5.jar"/>
+	<classpathentry kind="var" path="IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.catalina.ha/8.5.5/org.apache.catalina.ha-8.5.5.jar" sourcepath="/IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.catalina.ha/8.5.5/org.apache.catalina.ha.source-8.5.5.jar"/>
+	<classpathentry kind="var" path="IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.catalina.tribes/8.5.5/org.apache.catalina.tribes-8.5.5.jar" sourcepath="/IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.catalina.tribes/8.5.5/org.apache.catalina.tribes.source-8.5.5.jar"/>
+	<classpathentry kind="var" path="IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.coyote/8.5.5/org.apache.coyote-8.5.5.jar" sourcepath="/IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.coyote/8.5.5/org.apache.coyote.source-8.5.5.jar"/>
 	<classpathentry kind="var" path="IVY_CACHE/org.eclipse.virgo.mirrored/javax.servlet/3.1.0.20150414/javax.servlet-3.1.0.20150414.jar" sourcepath="/IVY_CACHE/org.eclipse.virgo.mirrored/javax.servlet/3.1.0.20150414/javax.servlet-sources-3.1.0.20150414.jar"/>
 	<classpathentry kind="var" path="IVY_CACHE/org.easymock/com.springsource.org.easymock/2.3.0/com.springsource.org.easymock-2.3.0.jar" sourcepath="/IVY_CACHE/org.easymock/com.springsource.org.easymock/2.3.0/com.springsource.org.easymock-sources-2.3.0.jar"/>
 	<classpathentry kind="var" path="IVY_CACHE/org.eclipse.virgo.mirrored/org.eclipse.equinox.event/1.3.100.v20140115-1647/org.eclipse.equinox.event-1.3.100.v20140115-1647.jar" sourcepath="/IVY_CACHE/org.eclipse.virgo.mirrored/org.eclipse.equinox.event/1.3.100.v20140115-1647/org.eclipse.equinox.event-sources-1.3.100.v20140115-1647.jar"/>
diff --git a/org.eclipse.gemini.web.test/.classpath b/org.eclipse.gemini.web.test/.classpath
index ca7184c..a1fc6f8 100644
--- a/org.eclipse.gemini.web.test/.classpath
+++ b/org.eclipse.gemini.web.test/.classpath
@@ -13,12 +13,12 @@
 	<classpathentry kind="var" path="IVY_CACHE/org.eclipse.virgo.util/org.eclipse.virgo.util.parser.launcher/3.7.0.D-20140919122012/org.eclipse.virgo.util.parser.launcher-3.7.0.D-20140919122012.jar"/>
 	<classpathentry kind="var" path="IVY_CACHE/org.eclipse.virgo.test/org.eclipse.virgo.test.launcher/3.7.0.BUILD-20150104200311/org.eclipse.virgo.test.launcher-3.7.0.BUILD-20150104200311.jar"/>
 	<classpathentry kind="var" path="IVY_CACHE/org.eclipse.virgo.mirrored/org.slf4j.api/1.7.2.v20121108-1250/org.slf4j.api-1.7.2.v20121108-1250.jar" sourcepath="/IVY_CACHE/org.eclipse.virgo.mirrored/org.slf4j.api/1.7.2.v20121108-1250/org.slf4j.api-sources-1.7.2.v20121108-1250.jar"/>
-	<classpathentry kind="var" path="IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.catalina/8.0.21/org.apache.catalina-8.0.21.jar" sourcepath="/IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.catalina/8.0.21/org.apache.catalina.source-8.0.21.jar"/>
-	<classpathentry kind="var" path="IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.juli/8.0.21/org.apache.juli-8.0.21.jar" sourcepath="/IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.juli/8.0.21/org.apache.juli.source-8.0.21.jar"/>
-	<classpathentry kind="var" path="IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.jasper/8.0.21/org.apache.jasper-8.0.21.jar" sourcepath="/IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.jasper/8.0.21/org.apache.jasper.source-8.0.21.jar"/>
-	<classpathentry kind="var" path="IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.catalina.ha/8.0.21/org.apache.catalina.ha-8.0.21.jar" sourcepath="/IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.catalina.ha/8.0.21/org.apache.catalina.ha.source-8.0.21.jar"/>
-	<classpathentry kind="var" path="IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.catalina.tribes/8.0.21/org.apache.catalina.tribes-8.0.21.jar" sourcepath="/IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.catalina.tribes/8.0.21/org.apache.catalina.tribes.source-8.0.21.jar"/>
-	<classpathentry kind="var" path="IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.coyote/8.0.21/org.apache.coyote-8.0.21.jar" sourcepath="/IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.coyote/8.0.21/org.apache.coyote.source-8.0.21.jar"/>
+	<classpathentry kind="var" path="IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.catalina/8.5.5/org.apache.catalina-8.5.5.jar" sourcepath="/IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.catalina/8.5.5/org.apache.catalina.source-8.5.5.jar"/>
+	<classpathentry kind="var" path="IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.juli/8.5.5/org.apache.juli-8.5.5.jar" sourcepath="/IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.juli/8.5.5/org.apache.juli.source-8.5.5.jar"/>
+	<classpathentry kind="var" path="IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.jasper/8.5.5/org.apache.jasper-8.5.5.jar" sourcepath="/IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.jasper/8.5.5/org.apache.jasper.source-8.5.5.jar"/>
+	<classpathentry kind="var" path="IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.catalina.ha/8.5.5/org.apache.catalina.ha-8.5.5.jar" sourcepath="/IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.catalina.ha/8.5.5/org.apache.catalina.ha.source-8.5.5.jar"/>
+	<classpathentry kind="var" path="IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.catalina.tribes/8.5.5/org.apache.catalina.tribes-8.5.5.jar" sourcepath="/IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.catalina.tribes/8.5.5/org.apache.catalina.tribes.source-8.5.5.jar"/>
+	<classpathentry kind="var" path="IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.coyote/8.5.5/org.apache.coyote-8.5.5.jar" sourcepath="/IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.coyote/8.5.5/org.apache.coyote.source-8.5.5.jar"/>
 	<classpathentry kind="var" path="IVY_CACHE/org.eclipse.virgo.mirrored/javax.servlet/3.1.0.20150414/javax.servlet-3.1.0.20150414.jar" sourcepath="/IVY_CACHE/org.eclipse.virgo.mirrored/javax.servlet/3.1.0.20150414/javax.servlet-sources-3.1.0.20150414.jar"/>
 	<classpathentry kind="var" path="IVY_CACHE/org.eclipse.virgo.mirrored/javax.websocket/1.1.0.v201401130840/javax.websocket-1.1.0.v201401130840.jar"/>
 	<classpathentry kind="var" path="IVY_CACHE/org.easymock/com.springsource.org.easymock/2.3.0/com.springsource.org.easymock-2.3.0.jar" sourcepath="/IVY_CACHE/org.easymock/com.springsource.org.easymock/2.3.0/com.springsource.org.easymock-sources-2.3.0.jar"/>
diff --git a/org.eclipse.gemini.web.test/ivy.xml b/org.eclipse.gemini.web.test/ivy.xml
index c1ef25e..413aecb 100644
--- a/org.eclipse.gemini.web.test/ivy.xml
+++ b/org.eclipse.gemini.web.test/ivy.xml
@@ -35,6 +35,7 @@
            
            <dependency org="org.eclipse.virgo.mirrored" name="com.springsource.org.apache.taglibs.standard" rev="${org.apache.taglibs}" conf="test->runtime"/>
            <dependency org="org.eclipse.virgo.mirrored" name="javax.servlet.jsp.jstl" rev="${javax.servlet.jstl}" conf="test->runtime"/>
+           <dependency org="org.eclipse.virgo.mirrored" name="javax.security.auth.message" rev="${javax.security.auth.message}" conf="test->runtime"/>
            <dependency org="org.eclipse.virgo.mirrored" name="javax.xml.soap" rev="${javax.xml.soap}" conf="test->runtime"/>
            <dependency org="org.eclipse.virgo.mirrored" name="javax.mail" rev="${javax.mail}" conf="test->runtime"/>
            <dependency org="org.eclipse.virgo.mirrored" name="javax.websocket" rev="${javax.websocket}" conf="test->runtime"/>
diff --git a/org.eclipse.gemini.web.test/src/test/resources/META-INF/test.config.properties b/org.eclipse.gemini.web.test/src/test/resources/META-INF/test.config.properties
index c99c1fc..c454ebe 100644
--- a/org.eclipse.gemini.web.test/src/test/resources/META-INF/test.config.properties
+++ b/org.eclipse.gemini.web.test/src/test/resources/META-INF/test.config.properties
@@ -14,6 +14,7 @@
 file:${ivy.cache}/repository/org.eclipse.virgo.mirrored/javax.persistence/${javax.persistence}/javax.persistence-${javax.persistence}.jar@start,\
 file:${ivy.cache}/repository/org.eclipse.virgo.mirrored/javax.servlet.jsp/${javax.servlet.jsp}/javax.servlet.jsp-${javax.servlet.jsp}.jar@start,\
 file:${ivy.cache}/repository/org.eclipse.virgo.mirrored/javax.servlet/${javax.servlet}/javax.servlet-${javax.servlet}.jar@start,\
+file:${ivy.cache}/repository/org.eclipse.virgo.mirrored/javax.security.auth.message/${javax.security.auth.message}/javax.security.auth.message-${javax.security.auth.message}.jar@start,\
 file:${ivy.cache}/repository/org.eclipse.virgo.mirrored/javax.xml.rpc/${javax.xml.rpc}/javax.xml.rpc-${javax.xml.rpc}.jar@start,\
 file:${ivy.cache}/repository/org.eclipse.virgo.mirrored/javax.xml.soap/${javax.xml.soap}/javax.xml.soap-${javax.xml.soap}.jar@start,\
 file:${ivy.cache}/repository/org.eclipse.virgo.mirrored/javax.websocket/${javax.websocket}/javax.websocket-${javax.websocket}.jar@start,\
diff --git a/org.eclipse.gemini.web.tomcat/.classpath b/org.eclipse.gemini.web.tomcat/.classpath
index e006d57..b9814b2 100644
--- a/org.eclipse.gemini.web.tomcat/.classpath
+++ b/org.eclipse.gemini.web.tomcat/.classpath
@@ -26,16 +26,16 @@
 	<classpathentry kind="var" path="IVY_CACHE/org.eclipse.virgo.util/org.eclipse.virgo.util.osgi/3.6.3.RELEASE/org.eclipse.virgo.util.osgi-3.6.3.RELEASE.jar" sourcepath="/IVY_CACHE/org.eclispe.virgo.util/org.eclipse.virgo.util.osgi/3.6.3.RELEASE/org.eclipse.virgo.util.osgi-sources-3.6.3.RELEASE.jar"/>
 	<classpathentry kind="var" path="IVY_CACHE/org.eclipse.virgo.util/org.eclipse.virgo.util.common/3.6.3.RELEASE/org.eclipse.virgo.util.common-3.6.3.RELEASE.jar" sourcepath="/IVY_CACHE/org.eclispe.virgo.util/org.eclipse.virgo.util.common/3.6.3.RELEASE/org.eclipse.virgo.util.common-sources-3.6.3.RELEASE.jar"/>
 	<classpathentry kind="var" path="IVY_CACHE/org.eclipse.virgo.mirrored/org.slf4j.api/1.7.2.v20121108-1250/org.slf4j.api-1.7.2.v20121108-1250.jar" sourcepath="/IVY_CACHE/org.eclipse.virgo.mirrored/org.slf4j.api/1.7.2.v20121108-1250/org.slf4j.api-sources-1.7.2.v20121108-1250.jar"/>
-	<classpathentry kind="var" path="IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.catalina/8.0.21/org.apache.catalina-8.0.21.jar" sourcepath="/IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.catalina/8.0.21/org.apache.catalina.source-8.0.21.jar"/>
-	<classpathentry kind="var" path="IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.juli/8.0.21/org.apache.juli-8.0.21.jar" sourcepath="/IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.juli/8.0.21/org.apache.juli.source-8.0.21.jar"/>
-	<classpathentry kind="var" path="IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.jasper/8.0.21/org.apache.jasper-8.0.21.jar" sourcepath="/IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.jasper/8.0.21/org.apache.jasper.source-8.0.21.jar"/>
-	<classpathentry kind="var" path="IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.catalina.ha/8.0.21/org.apache.catalina.ha-8.0.21.jar" sourcepath="/IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.catalina.ha/8.0.21/org.apache.catalina.ha.source-8.0.21.jar"/>
-	<classpathentry kind="var" path="IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.catalina.tribes/8.0.21/org.apache.catalina.tribes-8.0.21.jar" sourcepath="/IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.catalina.tribes/8.0.21/org.apache.catalina.tribes.source-8.0.21.jar"/>
-	<classpathentry kind="var" path="IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.coyote/8.0.21/org.apache.coyote-8.0.21.jar" sourcepath="/IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.coyote/8.0.21/org.apache.coyote.source-8.0.21.jar"/>
-	<classpathentry kind="var" path="IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.tomcat.api/8.0.21/org.apache.tomcat.api-8.0.21.jar" sourcepath="/IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.tomcat.api/8.0.21/org.apache.tomcat.api.source-8.0.21.jar"/>
-	<classpathentry kind="var" path="IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.tomcat.util/8.0.21/org.apache.tomcat.util-8.0.21.jar" sourcepath="/IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.tomcat.util/8.0.21/org.apache.tomcat.util.source-8.0.21.jar"/>
-	<classpathentry kind="var" path="IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.tomcat.util.scan/8.0.21/org.apache.tomcat.util.scan-8.0.21.jar" sourcepath="/IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.tomcat.util.scan/8.0.21/org.apache.tomcat.util.scan.source-8.0.21.jar"/>
-	<classpathentry kind="var" path="IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.tomcat.websocket/8.0.21/org.apache.tomcat.websocket-8.0.21.jar" sourcepath="/IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.tomcat.websocket/8.0.21/org.apache.tomcat.websocket.source-8.0.21.jar"/>
+	<classpathentry kind="var" path="IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.catalina/8.5.5/org.apache.catalina-8.5.5.jar" sourcepath="/IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.catalina/8.5.5/org.apache.catalina.source-8.5.5.jar"/>
+	<classpathentry kind="var" path="IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.juli/8.5.5/org.apache.juli-8.5.5.jar" sourcepath="/IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.juli/8.5.5/org.apache.juli.source-8.5.5.jar"/>
+	<classpathentry kind="var" path="IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.jasper/8.5.5/org.apache.jasper-8.5.5.jar" sourcepath="/IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.jasper/8.5.5/org.apache.jasper.source-8.5.5.jar"/>
+	<classpathentry kind="var" path="IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.catalina.ha/8.5.5/org.apache.catalina.ha-8.5.5.jar" sourcepath="/IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.catalina.ha/8.5.5/org.apache.catalina.ha.source-8.5.5.jar"/>
+	<classpathentry kind="var" path="IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.catalina.tribes/8.5.5/org.apache.catalina.tribes-8.5.5.jar" sourcepath="/IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.catalina.tribes/8.5.5/org.apache.catalina.tribes.source-8.5.5.jar"/>
+	<classpathentry kind="var" path="IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.coyote/8.5.5/org.apache.coyote-8.5.5.jar" sourcepath="/IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.coyote/8.5.5/org.apache.coyote.source-8.5.5.jar"/>
+	<classpathentry kind="var" path="IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.tomcat.api/8.5.5/org.apache.tomcat.api-8.5.5.jar" sourcepath="/IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.tomcat.api/8.5.5/org.apache.tomcat.api.source-8.5.5.jar"/>
+	<classpathentry kind="var" path="IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.tomcat.util/8.5.5/org.apache.tomcat.util-8.5.5.jar" sourcepath="/IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.tomcat.util/8.5.5/org.apache.tomcat.util.source-8.5.5.jar"/>
+	<classpathentry kind="var" path="IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.tomcat.util.scan/8.5.5/org.apache.tomcat.util.scan-8.5.5.jar" sourcepath="/IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.tomcat.util.scan/8.5.5/org.apache.tomcat.util.scan.source-8.5.5.jar"/>
+	<classpathentry kind="var" path="IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.tomcat.websocket/8.5.5/org.apache.tomcat.websocket-8.5.5.jar" sourcepath="/IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.tomcat.websocket/8.5.5/org.apache.tomcat.websocket.source-8.5.5.jar"/>
 	<classpathentry kind="var" path="IVY_CACHE/org.eclipse.virgo.mirrored/javax.servlet/3.1.0.20150414/javax.servlet-3.1.0.20150414.jar" sourcepath="/IVY_CACHE/org.eclipse.virgo.mirrored/javax.servlet/3.1.0.20150414/javax.servlet-sources-3.1.0.20150414.jar"/>
 	<classpathentry kind="var" path="IVY_CACHE/org.easymock/com.springsource.org.easymock/2.3.0/com.springsource.org.easymock-2.3.0.jar" sourcepath="/IVY_CACHE/org.easymock/com.springsource.org.easymock/2.3.0/com.springsource.org.easymock-sources-2.3.0.jar"/>
 	<classpathentry combineaccessrules="false" kind="src" path="/org.eclipse.gemini.web.core"/>
diff --git a/org.eclipse.gemini.web.tomcat/src/main/java/org/eclipse/gemini/web/tomcat/internal/BundleDependenciesJarScanner.java b/org.eclipse.gemini.web.tomcat/src/main/java/org/eclipse/gemini/web/tomcat/internal/BundleDependenciesJarScanner.java
index 2ac1451..334cbae 100644
--- a/org.eclipse.gemini.web.tomcat/src/main/java/org/eclipse/gemini/web/tomcat/internal/BundleDependenciesJarScanner.java
+++ b/org.eclipse.gemini.web.tomcat/src/main/java/org/eclipse/gemini/web/tomcat/internal/BundleDependenciesJarScanner.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2009, 2015 VMware Inc.
+ * Copyright (c) 2009, 2016 VMware Inc.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -18,21 +18,21 @@
 
 import java.io.File;
 import java.io.IOException;
-import java.net.JarURLConnection;
 import java.net.MalformedURLException;
 import java.net.URI;
 import java.net.URISyntaxException;
 import java.net.URL;
-import java.net.URLConnection;
 import java.util.Set;
 
 import javax.servlet.ServletContext;
 
 import org.apache.jasper.servlet.JasperInitializer;
+import org.apache.tomcat.Jar;
 import org.apache.tomcat.JarScanFilter;
 import org.apache.tomcat.JarScanType;
 import org.apache.tomcat.JarScanner;
 import org.apache.tomcat.JarScannerCallback;
+import org.apache.tomcat.util.scan.JarFactory;
 import org.apache.tomcat.websocket.server.WsSci;
 import org.eclipse.gemini.web.tomcat.internal.loader.BundleWebappClassLoader;
 import org.eclipse.gemini.web.tomcat.internal.support.BundleDependencyDeterminer;
@@ -172,14 +172,12 @@
     }
 
     private void scanBundleUrl(URL url, JarScannerCallback callback, boolean isWebapp) {
-        try {
-            URLConnection connection = url.openConnection();
-
-            if (connection instanceof JarURLConnection) {
-                callback.scan((JarURLConnection) connection, null, isWebapp);
+        if ("jar".equals(url.getProtocol()) || url.getPath().endsWith(".jar")) {
+            try (Jar jar = JarFactory.newInstance(url)) {
+                callback.scan(jar, null, isWebapp);
+            } catch (IOException e) {
+                LOGGER.warn("Failure when attempting to scan bundle via jar URL [" + url + "].", e);
             }
-        } catch (IOException e) {
-            LOGGER.warn("Failure when attempting to scan bundle via jar URL [" + url + "].", e);
         }
     }
 }
diff --git a/org.eclipse.gemini.web.tomcat/src/main/java/org/eclipse/gemini/web/tomcat/internal/bundleresources/BundleJarResourceSet.java b/org.eclipse.gemini.web.tomcat/src/main/java/org/eclipse/gemini/web/tomcat/internal/bundleresources/BundleJarResourceSet.java
index 6ef050d..673291a 100644
--- a/org.eclipse.gemini.web.tomcat/src/main/java/org/eclipse/gemini/web/tomcat/internal/bundleresources/BundleJarResourceSet.java
+++ b/org.eclipse.gemini.web.tomcat/src/main/java/org/eclipse/gemini/web/tomcat/internal/bundleresources/BundleJarResourceSet.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2015 SAP SE
+ * Copyright (c) 2015, 2016 SAP SE
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -19,6 +19,7 @@
 import java.io.IOException;
 import java.net.URL;
 import java.net.URLConnection;
+import java.util.HashMap;
 import java.util.jar.JarEntry;
 import java.util.jar.JarInputStream;
 import java.util.jar.Manifest;
@@ -51,11 +52,6 @@
         }
 
         try (JarInputStream jarIs = new JarInputStream(conn.getInputStream())) {
-            JarEntry entry = jarIs.getNextJarEntry();
-            while (entry != null) {
-                getJarFileEntries().put(entry.getName(), entry);
-                entry = jarIs.getNextJarEntry();
-            }
             setManifest(jarIs.getManifest());
         } catch (IOException ioe) {
             throw new IllegalArgumentException(ioe);
@@ -63,4 +59,60 @@
 
         setBaseUrl(baseUrl);
     }
+
+    @Override
+    protected HashMap<String,JarEntry> getArchiveEntries(boolean single) {
+        synchronized (archiveLock) {
+            if (archiveEntries == null && !single) {
+                URLConnection conn = null;
+                URL baseUrl = null;
+                try {
+                    baseUrl = new URL(getBase());
+                    conn = baseUrl.openConnection();
+                } catch (IOException e) {
+                    throw new IllegalArgumentException(e);
+                }
+
+                archiveEntries = new HashMap<>();
+                try (JarInputStream jarIs = new JarInputStream(conn.getInputStream())) {
+                    JarEntry entry = jarIs.getNextJarEntry();
+                    while (entry != null) {
+                        archiveEntries.put(entry.getName(), entry);
+                        entry = jarIs.getNextJarEntry();
+                    }
+                } catch (IOException ioe) {
+                    // Should never happen
+                    archiveEntries = null;
+                    throw new IllegalStateException(ioe);
+                }
+            }
+            return archiveEntries;
+        }
+    }
+
+    @Override
+    protected JarEntry getArchiveEntry(String pathInArchive) {
+        URLConnection conn = null;
+        URL baseUrl = null;
+        try {
+            baseUrl = new URL(getBase());
+            conn = baseUrl.openConnection();
+        } catch (IOException e) {
+            throw new IllegalArgumentException(e);
+        }
+
+        JarEntry entry = null;
+        try (JarInputStream jarIs = new JarInputStream(conn.getInputStream())) {
+            entry = jarIs.getNextJarEntry();
+            while (entry != null && !entry.getName().equals(pathInArchive)) {
+                entry = jarIs.getNextJarEntry();
+            }
+
+            return entry;
+        } catch (IOException ioe) {
+            // Should never happen
+            throw new IllegalStateException(ioe);
+        }
+    }
+
 }
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 532a40c..e90a6b8 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
@@ -19,6 +19,7 @@
 import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
+import java.net.MalformedURLException;
 import java.net.URL;
 import java.nio.file.Path;
 import java.nio.file.Paths;
@@ -37,6 +38,7 @@
 import org.apache.catalina.WebResourceRoot;
 import org.apache.catalina.webresources.AbstractResource;
 import org.apache.juli.logging.Log;
+import org.apache.tomcat.util.buf.UriUtil;
 import org.eclipse.gemini.web.tomcat.internal.support.BundleFileResolver;
 import org.eclipse.gemini.web.tomcat.internal.support.BundleFileResolverFactory;
 import org.osgi.framework.Bundle;
@@ -251,6 +253,14 @@
         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);
+            }
+        }
         return this.url;
     }
 
diff --git a/org.eclipse.gemini.web.tomcat/src/test/java/org/eclipse/gemini/web/tomcat/internal/BundleDependenciesJarScannerTests.java b/org.eclipse.gemini.web.tomcat/src/test/java/org/eclipse/gemini/web/tomcat/internal/BundleDependenciesJarScannerTests.java
index a52d353..1cb734f 100644
--- a/org.eclipse.gemini.web.tomcat/src/test/java/org/eclipse/gemini/web/tomcat/internal/BundleDependenciesJarScannerTests.java
+++ b/org.eclipse.gemini.web.tomcat/src/test/java/org/eclipse/gemini/web/tomcat/internal/BundleDependenciesJarScannerTests.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2009, 2015 VMware Inc.
+ * Copyright (c) 2009, 2016 VMware Inc.
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -27,7 +27,6 @@
 
 import java.io.File;
 import java.io.IOException;
-import java.net.JarURLConnection;
 import java.net.URLClassLoader;
 import java.util.Arrays;
 import java.util.Collections;
@@ -35,6 +34,7 @@
 
 import javax.servlet.ServletContext;
 
+import org.apache.tomcat.Jar;
 import org.apache.tomcat.JarScannerCallback;
 import org.eclipse.gemini.web.tomcat.internal.loader.BundleWebappClassLoader;
 import org.eclipse.gemini.web.tomcat.internal.support.BundleDependencyDeterminer;
@@ -106,9 +106,9 @@
     public void scanFile() throws IOException {
         expect(this.dependencyDeterminer.getDependencies(this.bundle)).andReturn(new HashSet<>(Arrays.asList(this.dependency)));
 
-        File dependencyFile = new File("");
+        File dependencyFile = new File("./src/test/resources/bundle.jar");
         expect(this.bundleFileResolver.resolve(this.dependency)).andReturn(dependencyFile);
-        this.callback.scan(isA(JarURLConnection.class), (String) isNull(), eq(true));
+        this.callback.scan(isA(Jar.class), (String) isNull(), eq(true));
 
         ClassLoader classLoader = new BundleWebappClassLoader(this.bundle, this.classLoaderCustomizer);
         expect(this.servletContext.getClassLoader()).andReturn(classLoader);
@@ -125,12 +125,12 @@
     @Test
     public void scanJarUrlConnection() throws IOException {
         expect(this.dependencyDeterminer.getDependencies(this.bundle)).andReturn(new HashSet<>(Arrays.asList(this.dependency))).times(2);
-        expect(this.dependency.getLocation()).andReturn("file:src/test/resources/bundle.jar").andReturn(
-            "reference:file:src/test/resources/bundle.jar");
+        String bundleLocation = new File("./src/test/resources/bundle.jar").toURI().toString();
+        expect(this.dependency.getLocation()).andReturn(bundleLocation).andReturn("reference:" + bundleLocation);
         expect(this.dependency.getSymbolicName()).andReturn("bundle").anyTimes();
 
         expect(this.bundleFileResolver.resolve(this.dependency)).andReturn(null).times(2);
-        this.callback.scan(isA(JarURLConnection.class), (String) isNull(), eq(true));
+        this.callback.scan(isA(Jar.class), (String) isNull(), eq(true));
 
         ClassLoader classLoader = new BundleWebappClassLoader(this.bundle, this.classLoaderCustomizer);
         expect(this.servletContext.getClassLoader()).andReturn(classLoader).times(2);
diff --git a/org.eclipse.gemini.web.tomcat/src/test/resources/bundle.jar b/org.eclipse.gemini.web.tomcat/src/test/resources/bundle.jar
new file mode 100644
index 0000000..6f8e200
--- /dev/null
+++ b/org.eclipse.gemini.web.tomcat/src/test/resources/bundle.jar
Binary files differ
diff --git a/test-bundles/customizer-bundle/.classpath b/test-bundles/customizer-bundle/.classpath
index 60bd826..c31d433 100755
--- a/test-bundles/customizer-bundle/.classpath
+++ b/test-bundles/customizer-bundle/.classpath
@@ -3,8 +3,9 @@
 	<classpathentry kind="src" path="src/main/java"/>
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
 	<classpathentry combineaccessrules="false" kind="src" path="/org.eclipse.gemini.web.tomcat"/>
-	<classpathentry kind="var" path="IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.tomcat.api/8.0.18/org.apache.tomcat.api-8.0.18.jar" sourcepath="/IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.tomcat.api/8.0.18/org.apache.tomcat.api.source-8.0.18.jar"/>
+	<classpathentry kind="var" path="IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.tomcat.api/8.5.5/org.apache.tomcat.api-8.5.5.jar" sourcepath="/IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.tomcat.api/8.5.5/org.apache.tomcat.api.source-8.5.5.jar"/>
+	<classpathentry kind="var" path="IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.tomcat.util.scan/8.5.5/org.apache.tomcat.util.scan-8.5.5.jar" sourcepath="/IVY_CACHE/org.eclipse.virgo.mirrored/org.apache.tomcat.util.scan/8.5.5/org.apache.tomcat.util.scan.source-8.5.5.jar"/>
 	<classpathentry kind="var" path="IVY_CACHE/org.eclipse.virgo.mirrored/org.eclipse.osgi/3.10.0.v20140606-1445/org.eclipse.osgi-3.10.0.v20140606-1445.jar" sourcepath="/IVY_CACHE/org.eclipse.virgo.mirrored/org.eclipse.osgi/3.10.0.v20140606-1445/org.eclipse.osgi.source-3.10.0.v20140606-1445.jar"/>
-	<classpathentry kind="var" path="IVY_CACHE/org.eclipse.virgo.mirrored/javax.servlet/3.1.0/javax.servlet-3.1.0.jar" sourcepath="/IVY_CACHE/org.eclipse.virgo.mirrored/javax.servlet/3.1.0/javax.servlet-sources-3.1.0.jar"/>
+	<classpathentry kind="var" path="IVY_CACHE/org.eclipse.virgo.mirrored/javax.servlet/3.1.0.20150414/javax.servlet-3.1.0.20150414.jar" sourcepath="/IVY_CACHE/org.eclipse.virgo.mirrored/javax.servlet/3.1.0.20150414/javax.servlet-sources-3.1.0.20150414.jar"/>
 	<classpathentry kind="output" path="target"/>
 </classpath>
diff --git a/test-bundles/customizer-bundle/ivy.xml b/test-bundles/customizer-bundle/ivy.xml
index 318bf0f..2362bce 100755
--- a/test-bundles/customizer-bundle/ivy.xml
+++ b/test-bundles/customizer-bundle/ivy.xml
@@ -19,6 +19,7 @@
     <dependencies>
 		<dependency org="org.eclipse.virgo.mirrored" name="javax.servlet" rev="${javax.servlet}" conf="compile->runtime"/>
 		<dependency org="org.eclipse.virgo.mirrored" name="org.apache.tomcat.api" rev="${org.apache.catalina}" conf="compile->runtime"/>
+		<dependency org="org.eclipse.virgo.mirrored" name="org.apache.tomcat.util.scan" rev="${org.apache.catalina}" conf="compile->runtime"/>
 		<dependency org="org.eclipse.virgo.mirrored" name="org.eclipse.osgi" rev="${org.eclipse.osgi}" conf="compile->runtime"/>
 		<dependency org="org.eclipse.gemini" name="org.eclipse.gemini.web.tomcat" rev="latest.integration" conf="compile->runtime"/>
     </dependencies>
diff --git a/test-bundles/customizer-bundle/src/main/java/org/eclipse/gemini/web/BundleJarScanner.java b/test-bundles/customizer-bundle/src/main/java/org/eclipse/gemini/web/BundleJarScanner.java
index e3a7615..5d05dfd 100755
--- a/test-bundles/customizer-bundle/src/main/java/org/eclipse/gemini/web/BundleJarScanner.java
+++ b/test-bundles/customizer-bundle/src/main/java/org/eclipse/gemini/web/BundleJarScanner.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2012, 2015 SAP SE
+ * Copyright (c) 2012, 2016 SAP SE
  *
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -18,17 +18,17 @@
 
 import java.io.File;
 import java.io.IOException;
-import java.net.JarURLConnection;
 import java.net.MalformedURLException;
 import java.net.URL;
-import java.net.URLConnection;
 
 import javax.servlet.ServletContext;
 
+import org.apache.tomcat.Jar;
 import org.apache.tomcat.JarScanFilter;
 import org.apache.tomcat.JarScanType;
 import org.apache.tomcat.JarScanner;
 import org.apache.tomcat.JarScannerCallback;
+import org.apache.tomcat.util.scan.JarFactory;
 import org.eclipse.osgi.internal.framework.EquinoxBundle;
 import org.eclipse.osgi.storage.BundleInfo.Generation;
 import org.eclipse.osgi.storage.bundlefile.BundleFile;
@@ -108,14 +108,12 @@
     }
 
     private void scanBundleUrl(URL url, JarScannerCallback callback) {
-        try {
-            URLConnection connection = url.openConnection();
-
-            if (connection instanceof JarURLConnection) {
-                callback.scan((JarURLConnection) connection, null, true);
+        if ("jar".equals(url.getProtocol()) || url.getPath().endsWith(".jar")) {
+            try (Jar jar = JarFactory.newInstance(url)) {
+                callback.scan(jar, null, true);
+            } catch (IOException e) {
+                System.out.println("Failure when attempting to scan bundle via jar URL '" + url + "':" + e.getMessage());
             }
-        } catch (IOException e) {
-            System.out.println("Failure when attempting to scan bundle via jar URL '" + url + "':" + e.getMessage());
         }
     }
 
diff --git a/test-bundles/customizer-bundle/src/main/resources/META-INF/MANIFEST.MF b/test-bundles/customizer-bundle/src/main/resources/META-INF/MANIFEST.MF
index 6916b68..c70fe2c 100755
--- a/test-bundles/customizer-bundle/src/main/resources/META-INF/MANIFEST.MF
+++ b/test-bundles/customizer-bundle/src/main/resources/META-INF/MANIFEST.MF
@@ -3,6 +3,8 @@
 Bundle-SymbolicName: Customizer-bundle
 Bundle-Version: 1.0.0
 Import-Package: org.apache.tomcat,
+ org.apache.tomcat.util.buf,
+ org.apache.tomcat.util.scan,
  org.eclipse.gemini.web.tomcat.spi,
  org.osgi.framework,
  javax.servlet,
