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