[189007 ] Ensure absolute path is generated for workspace jar classpath dependencies
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/wst/ModuleTraverser.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/wst/ModuleTraverser.java
index 5a1cc16..fc3fb6e 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/wst/ModuleTraverser.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/wst/ModuleTraverser.java
@@ -229,8 +229,13 @@
 			if (rtFolder == null) {
 				rtFolder = "/WEB-INF/lib";
 			}
+			IPath entryPath = entry.getPath();
+			IResource entryRes = ResourcesPlugin.getWorkspace().getRoot().findMember(entryPath);
+			if (entryRes != null) {
+				entryPath = entryRes.getLocation();
+			}
 			// TODO Determine if different handling is needed for some use cases
-			visitor.visitArchiveComponent(new Path(rtFolder), entry.getPath());
+			visitor.visitArchiveComponent(new Path(rtFolder), entryPath);
 		}
     }
 
@@ -266,8 +271,13 @@
 			if (rtFolder == null) {
 				rtFolder = "/WEB-INF/lib";
 			}
+			IPath entryPath = entry.getPath();
+			IResource entryRes = ResourcesPlugin.getWorkspace().getRoot().findMember(entryPath);
+			if (entryRes != null) {
+				entryPath = entryRes.getLocation();
+			}
 			// TODO Determine if different handling is needed for some use cases
-			visitor.visitArchiveComponent(new Path(rtFolder), entry.getPath());
+			visitor.visitArchiveComponent(new Path(rtFolder), entryPath);
 		}
     }