Looked at several post on stackoverflow as well as other sources (online + ANT definition guide book) but none of them helped so far. I can't exclude the file from compiling.
I have just one file that wants to exclude from compiling and ANT documentation is not really telling the detail.
I'm trying to exclude HTMLParser.java
from compiling.
Also tried using excludesfile
too. But it still complies HTMLParser.java
I wrote simple ANT to examine trying different variation below.
Could anyone tell me what's wrong?
<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>
The HTMLParser.java I believe has no dependency since I commented all lines out except 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 suggested in the comment, I change the excludesfile name attribute to relative path of srcdir and that was it! So the snipped looks like:
<javac srcdir="${utilitiesSrc}" destdir="${dest}">
<excludesfile name="HTMLParser.java" />
</javac>
Try specifying the exclude
as a path relative to the javac srcdir
(=${utilitiesSrc}
) directory.
For example, your last javac task would then be:
<javac srcdir="${utilitiesSrc}" destdir="${dest}">
<exclude name="HTMLParser.java" />
</javac>
If the file is buried somewhere in a sub directory under the ${utilitiesSrc}
directory, you can match it with a wildcard:
<javac srcdir="${utilitiesSrc}" destdir="${dest}">
<exclude name="**/HTMLParser.java" />
</javac>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With