Ant:动态地在类路径中添加多个jar

时间:2011-05-23 21:55:19

标签: ant classpath

如何在ant中动态地将jar添加到javac类路径?

e.g。

属性文件应该是(此列表可以更改并包含不同目录中的不同jar): dyna.jars = .. / .. / DIR1 / api1.jar; ../ DIR2 / api2.jar

build.xml中的

            <javac
                srcdir="${javac.srcdir}"
                .....
            >
            <classpath refid="${dyna.jars}" />

            </javac>

谢谢。

1 个答案:

答案 0 :(得分:10)

我无法确定dir1dir2是否也会更改或只是更改这些目录中的JAR,但假设这些目录的名称相同,则以下内容将包含dirdir2下的所有JAR,并使用<path>创建id="dyna.jars"。请注意,它应该是refid="dyna.jars"而不是refid="${dyna.jars}"

<path id="dyna.jars">
    <fileset dir="../../dir1">
        <include name="**/*.jar"/>
    </fileset>
    <fileset dir="../../dir2">
        <include name="**/*.jar"/>
    </fileset>
</path>

<javac srcdir="${javac.srcdir}" .....>
    <classpath refid="dyna.jars" />
</javac>