[112363] Publishing problems
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/PublishOperation2.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/PublishOperation2.java
index 70e9429..16f1aed 100644
--- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/PublishOperation2.java
+++ b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/PublishOperation2.java
@@ -81,6 +81,17 @@
}
private void publishJar(IProgressMonitor monitor) throws CoreException {
+ IPath path = server.getTempDirectory().append("webapps");
+ path = path.append(module[0].getName()).append("WEB-INF").append("lib");
+ IPath jarPath = path.append(module[1].getName() + ".jar");
+
+ if (kind == IServer.PUBLISH_CLEAN || deltaKind == ServerBehaviourDelegate.REMOVED) { // clean and republish from scratch
+ if (jarPath.toFile().exists())
+ jarPath.toFile().delete();
+
+ if (deltaKind == ServerBehaviourDelegate.REMOVED)
+ return;
+ }
if (kind != IServer.PUBLISH_CLEAN && kind != IServer.PUBLISH_FULL) {
// avoid changes if no changes to module since last publish
IModuleResourceDelta[] delta = server.getPublishedResourceDelta(module);
@@ -89,13 +100,12 @@
}
// make directory if it doesn't exist
- IPath path = server.getTempDirectory().append("webapps");
- path = path.append(module[0].getName()).append("WEB-INF").append("lib");
+
if (!path.toFile().exists())
path.toFile().mkdirs();
ProjectModule pm = (ProjectModule) module[1].loadAdapter(ProjectModule.class, monitor);
IModuleResource[] mr = pm.members();
- PublishUtil.createZipFile(mr, path.append(module[1].getName() + ".jar"));
+ PublishUtil.createZipFile(mr, jarPath);
}
}
\ No newline at end of file