413925 : fix exception when regenerating application.xml
Signed-off-by: Fred Bricon <fbricon@gmail.com>
diff --git a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/MavenDeploymentDescriptorManagement.java b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/MavenDeploymentDescriptorManagement.java
index 1f2ff88..dc5cada 100644
--- a/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/MavenDeploymentDescriptorManagement.java
+++ b/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/MavenDeploymentDescriptorManagement.java
@@ -28,6 +28,7 @@
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IFolder;
import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
@@ -176,7 +177,11 @@
try {
is = new FileInputStream(file);
IFile targetResource = metaInfFolder.getFile(file.getName());
- targetResource.create(is, true, monitor);
+ if (targetResource.exists()) {
+ targetResource.setContents(is, IResource.FORCE, monitor);
+ } else {
+ targetResource.create(is, true, monitor);
+ }
} catch (FileNotFoundException ex) {
IStatus status = new Status(IStatus.ERROR, MavenWtpPlugin.ID, IStatus.ERROR, ex.getMessage(), ex);
throw new CoreException(status);