diff --git a/plugins/org.eclipse.jst.server.generic.core/servers/jboss323.server b/plugins/org.eclipse.jst.server.generic.core/servers/jboss323.server
index 6aeccf5..9b55281 100644
--- a/plugins/org.eclipse.jst.server.generic.core/servers/jboss323.server
+++ b/plugins/org.eclipse.jst.server.generic.core/servers/jboss323.server
@@ -69,13 +69,13 @@
 			
 				<project name="deployextension"  default="deploy"  basedir=".">
 				    <target name="deploy">
-						<jar destfile="${deploymentUnitName}.war"> 
-							<zipfileset dir="${moduleDir}">
+						<jar destfile="${module.name}.war"> 
+							<zipfileset dir="${module.dir}">
 	        					<include name="**/*.*"/>
 						        <exclude name="**/*.war"/>
 							</zipfileset>
 						</jar>
-  				  		<move file="${deploymentUnitName}.war" todir="${deployDir}"/>
+  				  		<move file="${module.name}.war" todir="${server.publish.dir}"/>
   					  </target>
 				</project>
 				
@@ -87,7 +87,7 @@
 			<task>
 				<![CDATA[<project name="deployextension"  default="deploy"  basedir=".">
 				    <target name="deploy">
-  				  		<delete file="${deployDir}/${deploymentUnitName}.war"/>
+  				  		<delete file="${server.publish.dir}/${module.name}.war"/>
   					  </target>
 				</project>]]>
 			</task>
diff --git a/plugins/org.eclipse.jst.server.generic.core/servers/jonas.server b/plugins/org.eclipse.jst.server.generic.core/servers/jonas.server
index 018f912..45994e2 100644
--- a/plugins/org.eclipse.jst.server.generic.core/servers/jonas.server
+++ b/plugins/org.eclipse.jst.server.generic.core/servers/jonas.server
@@ -78,13 +78,13 @@
 			
 				<project name="deployextension"  default="deploy"  basedir=".">
 				    <target name="deploy">
-						<jar destfile="${deploymentUnitName}.war"> 
-							<zipfileset dir="${moduleDir}">
+						<jar destfile="${module.name}.war"> 
+							<zipfileset dir="${module.dir}">
 	        					<include name="**/*.*"/>
 						        <exclude name="**/*.war"/>
 							</zipfileset>
 						</jar>
-  				  		<move file="${deploymentUnitName}.war" todir="${deployDir}"/>
+  				  		<move file="${module.name}.war" todir="${server.publish.dir}"/>
   					  </target>
 				</project>
 				
@@ -95,7 +95,7 @@
 			<task>
 				<![CDATA[<project name="deployextension"  default="deploy"  basedir=".">
 				    <target name="deploy">
-  				  		<delete file="${deployDir}/${deploymentUnitName}.war"/>
+  				  		<delete file="${server.publish.dir}/${module.name}.war"/>
   					  </target>
 				</project>]]>
 			</task>
diff --git a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/core/AntPublisher.java b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/core/AntPublisher.java
index 518c467..6f2c319 100644
--- a/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/core/AntPublisher.java
+++ b/plugins/org.eclipse.jst.server.generic.core/src/org/eclipse/jst/server/generic/internal/core/AntPublisher.java
@@ -89,15 +89,12 @@
 		try {
 			createNewFile(file.toFile(),deployAnt.getBytes());
 		} catch (IOException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
+			return null;
 		}
 				
 		runAnt(file.toString(),new String[]{"deploy"},getPublishProperties(resource),monitor);
 		
 		file.toFile().delete();
-		
-		// TODO Auto-generated method stub
 		return null;
 	}
 	private Map getPublishProperties(IModuleArtifact[] resource)
@@ -108,9 +105,9 @@
 		String modDir = module.getPublishDir();
 		modDir = serverTypeDefinition.getResolver().resolveProperties(modDir);
 
-		props.put("deploymentUnitName",this.module.getName());
-		props.put("moduleDir",((WebModule)this.module).getLocation().toString());
-		props.put("deployDir",modDir);
+		props.put("module.name",this.module.getName());
+		props.put("module.dir",((WebModule)this.module).getLocation().toString());
+		props.put("server.publish.dir",modDir);
 		return props;
 		
 		
