Looked at a few posts on stackoverflow, as well as other sources (online + ANT definition definitions guide), but none of them have helped so far. I cannot exclude a file from compilation.
I have only one file that I want to exclude from compilation, and the ANT documentation does not actually provide details. I am trying to exclude HTMLParser.java from compilation. Also tried using excludesfile too. But it still matches HTMLParser.java
I wrote a simple ANT to explore the various options below.
Can someone tell me what happened?
<javac srcdir="${utilitiesSrc}" destdir="${dest}"> <excludesfile name="C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\head_first\src\com\masatosan\utilities\HTMLParser.java" /> </javac>
<project name="CompileMasatosan" default="main" basedir="C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\head_first\src\com\masatosan"> <property name="dest" location="C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\head_first\WEB-INF\classes" /> <property name="utilitiesSrc" location="C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\head_first\src\com\masatosan\utilities" /> <javac srcdir="${utilitiesSrc}" destdir="${dest}"> <exclude name="C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\head_first\src\com\masatosan\utilities\HTMLParser.java" /> </javac> </project>
HTMLParser.java I believe it has no dependency, since I commented out all lines except the class declaration line.
HTMLParser.java
package com.masatosan.utilities; public class HTMLParser { /* commenting out since Eclipse doesn't like some characters :( public static final String escapeHTML(String s){ StringBuffer sb = new StringBuffer(); int n = s.length(); for (int i = 0; i < n; i++) { char c = s.charAt(i); switch (c) { case '<': sb.append("<"); break; case '>': sb.append(">"); break; case '&': sb.append("&"); break; case '"': sb.append("""); break; case 'à ': sb.append("à");break; case 'À': sb.append("À");break; case 'â': sb.append("â");break; case 'Â': sb.append("Â");break; case 'ä': sb.append("ä");break; case 'Ä': sb.append("Ä");break; case 'Ã¥': sb.append("å");break; case 'Ã…': sb.append("Å");break; case 'æ': sb.append("æ");break; case 'Æ': sb.append("Æ");break; case 'ç': sb.append("ç");break; case 'Ç': sb.append("Ç");break; case 'é': sb.append("é");break; case 'É': sb.append("É");break; case 'è': sb.append("è");break; case 'È': sb.append("È");break; case 'ê': sb.append("ê");break; case 'Ê': sb.append("Ê");break; case 'ë': sb.append("ë");break; case 'Ë': sb.append("Ë");break; case 'ï': sb.append("ï");break; case 'à ': sb.append("Ï");break; case 'ô': sb.append("ô");break; case 'Ã"': sb.append("Ô");break; case 'ö': sb.append("ö");break; case 'Ö': sb.append("Ö");break; case 'ø': sb.append("ø");break; case 'Ø': sb.append("Ø");break; case 'ß': sb.append("ß");break; case 'ù': sb.append("ù");break; case 'Ù': sb.append("Ù");break; case 'û': sb.append("û");break; case 'Û': sb.append("Û");break; case 'ü': sb.append("ü");break; case 'Ü': sb.append("Ü");break; case '®': sb.append("®");break; case '©': sb.append("©");break; case '€': sb.append("€"); break; // be carefull with this one (non-breaking whitee space) case ' ': sb.append(" ");break; default: sb.append(c); break; } } return sb.toString(); } */ }//
UPDATE
As stated in the comment, I change the attribute name of excludefile to the relative path srcdir, and that’s it! So, the cut off looks like this:
<javac srcdir="${utilitiesSrc}" destdir="${dest}"> <excludesfile name="HTMLParser.java" /> </javac>
source share