[493277] Use PreResources to load the external jar files Change-Id: I358075b66a67274636f5d51e765660dd0b58f722
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat100PublishModuleVisitor.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat100PublishModuleVisitor.java index c6d450a..57c429f 100644 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat100PublishModuleVisitor.java +++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat100PublishModuleVisitor.java
@@ -27,7 +27,6 @@ import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Status; import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Context; -import org.eclipse.jst.server.tomcat.core.internal.xml.server40.JarResources; import org.eclipse.jst.server.tomcat.core.internal.xml.server40.PostResources; import org.eclipse.jst.server.tomcat.core.internal.xml.server40.PreResources; import org.eclipse.jst.server.tomcat.core.internal.xml.server40.ServerInstance; @@ -89,18 +88,18 @@ } virtualClassClasspathElements.clear(); - // Add Jars as JarResources if a jar, or as PostResources if a utility project + // Add Jars as PreResources if a jar, or as PostResources if a utility project for (Iterator iterator = virtualJarClasspathElements.iterator(); iterator.hasNext();) { Object virtualJarClassClasspathElement = iterator.next(); String jarPath = virtualJarClassClasspathElement.toString(); if (jarPath.endsWith(".jar")) { - JarResources jarResources = (JarResources)context.getResources().createElement("JarResources"); - jarResources.setClassName("org.apache.catalina.webresources.JarResourceSet"); - jarResources.setBase(jarPath); - jarResources.setWebAppMount("/WEB-INF/classes"); - jarResources.setInternalPath("/"); - jarResources.setClassLoaderOnly("true"); + PreResources preResources = (PreResources)context.getResources().createElement("PreResources"); + preResources.setClassName("org.apache.catalina.webresources.FileResourceSet"); + preResources.setBase(jarPath); + preResources.setWebAppMount("/WEB-INF/lib/" + new File(jarPath).getName()); + preResources.setInternalPath("/"); + preResources.setClassLoaderOnly("false"); } else { PostResources postResources = (PostResources)context.getResources().createElement("PostResources");
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat80PublishModuleVisitor.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat80PublishModuleVisitor.java index 7592bd1..a90d220 100644 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat80PublishModuleVisitor.java +++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat80PublishModuleVisitor.java
@@ -27,7 +27,6 @@ import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Status; import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Context; -import org.eclipse.jst.server.tomcat.core.internal.xml.server40.JarResources; import org.eclipse.jst.server.tomcat.core.internal.xml.server40.PostResources; import org.eclipse.jst.server.tomcat.core.internal.xml.server40.PreResources; import org.eclipse.jst.server.tomcat.core.internal.xml.server40.ServerInstance; @@ -89,18 +88,18 @@ } virtualClassClasspathElements.clear(); - // Add Jars as JarResources if a jar, or as PostResources if a utility project + // Add Jars as PreResources if a jar, or as PostResources if a utility project for (Iterator iterator = virtualJarClasspathElements.iterator(); iterator.hasNext();) { Object virtualJarClassClasspathElement = iterator.next(); String jarPath = virtualJarClassClasspathElement.toString(); if (jarPath.endsWith(".jar")) { - JarResources jarResources = (JarResources)context.getResources().createElement("JarResources"); - jarResources.setClassName("org.apache.catalina.webresources.JarResourceSet"); - jarResources.setBase(jarPath); - jarResources.setWebAppMount("/WEB-INF/classes"); - jarResources.setInternalPath("/"); - jarResources.setClassLoaderOnly("true"); + PreResources preResources = (PreResources)context.getResources().createElement("PreResources"); + preResources.setClassName("org.apache.catalina.webresources.FileResourceSet"); + preResources.setBase(jarPath); + preResources.setWebAppMount("/WEB-INF/lib/" + new File(jarPath).getName()); + preResources.setInternalPath("/"); + preResources.setClassLoaderOnly("false"); } else { PostResources postResources = (PostResources)context.getResources().createElement("PostResources");
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat85PublishModuleVisitor.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat85PublishModuleVisitor.java index 4fc60d9..3c3ee66 100644 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat85PublishModuleVisitor.java +++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat85PublishModuleVisitor.java
@@ -27,7 +27,6 @@ import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Status; import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Context; -import org.eclipse.jst.server.tomcat.core.internal.xml.server40.JarResources; import org.eclipse.jst.server.tomcat.core.internal.xml.server40.PostResources; import org.eclipse.jst.server.tomcat.core.internal.xml.server40.PreResources; import org.eclipse.jst.server.tomcat.core.internal.xml.server40.ServerInstance; @@ -89,18 +88,18 @@ } virtualClassClasspathElements.clear(); - // Add Jars as JarResources if a jar, or as PostResources if a utility project + // Add Jars as PreResources if a jar, or as PostResources if a utility project for (Iterator iterator = virtualJarClasspathElements.iterator(); iterator.hasNext();) { Object virtualJarClassClasspathElement = iterator.next(); String jarPath = virtualJarClassClasspathElement.toString(); if (jarPath.endsWith(".jar")) { - JarResources jarResources = (JarResources)context.getResources().createElement("JarResources"); - jarResources.setClassName("org.apache.catalina.webresources.JarResourceSet"); - jarResources.setBase(jarPath); - jarResources.setWebAppMount("/WEB-INF/classes"); - jarResources.setInternalPath("/"); - jarResources.setClassLoaderOnly("true"); + PreResources preResources = (PreResources)context.getResources().createElement("PreResources"); + preResources.setClassName("org.apache.catalina.webresources.FileResourceSet"); + preResources.setBase(jarPath); + preResources.setWebAppMount("/WEB-INF/lib/" + new File(jarPath).getName()); + preResources.setInternalPath("/"); + preResources.setClassLoaderOnly("false"); } else { PostResources postResources = (PostResources)context.getResources().createElement("PostResources");
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat90PublishModuleVisitor.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat90PublishModuleVisitor.java index d8d1303..c4d303c 100644 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat90PublishModuleVisitor.java +++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/Tomcat90PublishModuleVisitor.java
@@ -27,7 +27,6 @@ import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Status; import org.eclipse.jst.server.tomcat.core.internal.xml.server40.Context; -import org.eclipse.jst.server.tomcat.core.internal.xml.server40.JarResources; import org.eclipse.jst.server.tomcat.core.internal.xml.server40.PostResources; import org.eclipse.jst.server.tomcat.core.internal.xml.server40.PreResources; import org.eclipse.jst.server.tomcat.core.internal.xml.server40.ServerInstance; @@ -89,18 +88,18 @@ } virtualClassClasspathElements.clear(); - // Add Jars as JarResources if a jar, or as PostResources if a utility project + // Add Jars as PreResources if a jar, or as PostResources if a utility project for (Iterator iterator = virtualJarClasspathElements.iterator(); iterator.hasNext();) { Object virtualJarClassClasspathElement = iterator.next(); String jarPath = virtualJarClassClasspathElement.toString(); if (jarPath.endsWith(".jar")) { - JarResources jarResources = (JarResources)context.getResources().createElement("JarResources"); - jarResources.setClassName("org.apache.catalina.webresources.JarResourceSet"); - jarResources.setBase(jarPath); - jarResources.setWebAppMount("/WEB-INF/classes"); - jarResources.setInternalPath("/"); - jarResources.setClassLoaderOnly("true"); + PreResources preResources = (PreResources)context.getResources().createElement("PreResources"); + preResources.setClassName("org.apache.catalina.webresources.FileResourceSet"); + preResources.setBase(jarPath); + preResources.setWebAppMount("/WEB-INF/lib/" + new File(jarPath).getName()); + preResources.setInternalPath("/"); + preResources.setClassLoaderOnly("false"); } else { PostResources postResources = (PostResources)context.getResources().createElement("PostResources");