В моем файле build.xml есть следующее:
<target name="compile.baz" depends="init">
<javac destdir="${build.dir}/classes" debug="on">
<compilerarg value="-Xlint:deprecation"/>
<src>
<pathelement location="${src.dir}/com/foo/bar/baz/" />
<pathelement location="${src.dir}/com/foo/bar/quux/" />
<!-- Need to exclude ${src.dir}/com/foo/bar/quux/dontwant/ -->
</src>
<classpath refid="classpath.jars" />
</javac>
...
</target>
Это в основном делает то, что я хочу, за исключением того, что (как говорится в комментарии) я не хочу, чтобы файлы в
${src.dir}/com/foo/bar/quux/dontwant/
, который должен быть скомпилирован этой задачей (но я хочу, чтобы все остальное в ${src.dir}/com/foo/bar/quux/
было скомпилировано в этой задаче).
Я полный ant n00b, и документация не очень помогла мне. Я вижу несколько мест, где говорится, что существуют различные исключения/исключение элементов/атрибутов, но каждая вариация, о которой я могу думать, либо не имеет никакого эффекта, либо приводит к ошибке, например: "blah не поддерживает атрибут exclude".