如何从ant中的目录集中添加所有类的类路径?

Vol*_*lyy 8 ant

如何从一组目录中添加到类路径的所有类?

我有以下财产:

class.dirs = lib1dir,lib2dir,lib3dir

这些目录下有类.
是否可以将这些目录下的所有类添加到classpath中?

就像是:

<classpath>
   <dirset dir="${root.dir}" includes="${class.dirs}/**/*.class"/>
</classpath>
Run Code Online (Sandbox Code Playgroud)

要么

<classpath>
   <pathelement location="${class.dirs}" />
</classpath>
Run Code Online (Sandbox Code Playgroud)

但是,这个例子当然不起作用.

Att*_*ila 14

您可以设置路径以包含特定目录中的所有.class文件:

<path id="mypath"> 
  <fileset dir="${root.dir}">
    <include name="lib1dir/**/*.class lib2dir/**/*.class lib3dir/**/*.class"/>
  </fileset>
</path> 
Run Code Online (Sandbox Code Playgroud)

但是,如果要将此路径用作类路径,则只需引用根文件夹,否则ClassNotFoundError在程序包名称转换为目录时将获得s:

<path id="build.classpath"> 
  <dirset dir="${root.dir}">
    <include name="lib1dir lib2dir lib3dir"/>
  </dirset>
</path> 
Run Code Online (Sandbox Code Playgroud)

然后在使用时通过其id引用路径(例如,对于类路径):

<javac srcdir="${src.dir}" destdir="${build.dir}" classpathref="build.classpath" />
Run Code Online (Sandbox Code Playgroud)