如何使用 Apache Ant 将目录或文件 glob 指定为 javac 类路径值?

How to specify directory or file glob as javac classpath value with Apache Ant?

有没有办法在 Apache Ant (v1.9.6) 中设置 javac classpath 属性 的值,这样我就不必逐字指定所有我想包括的罐子,例如目录或文件 glob。

所以,如果我有类似的东西:

<javac classpath="./lib/one.jar":./lib/two.jar:./lib/three.jar..."

...是否可以只指定一次我的 ./lib 目录,就像您 运行 一个 java 应用程序时可以做的那样:

java -cp ./lib/'*'

我试过了,只是使用 ./lib、或./lib/*./lib/*.jar,但它们不起作用。

尝试在 <javac> 下放置一个 <classpath> 元素:

<javac ...>
    <classpath>
        <fileset dir="lib" includes="*.jar"/>
    </classpath>
</javac>

另一个使用可重用类路径引用的解决方案:

<path id="compile.path">
  <fileset dir="lib" includes="*.jar"/>
</path>

<javac srcdir="${src.dir}" destdir="${classes.dir}" includeantruntime="false" debug="true" classpathref="compile.path"/>

<junit printsummary="yes" haltonfailure="yes">
  <classpath>
    <path refid="compile.path"/>
    <pathelement path="${classes.dir}"/>
  </classpath>
  ..
  ..