[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");