javac.classpath中引用的每个jar如何unjar到一个文件夹?

时间:2016-09-25 00:29:02

标签: netbeans ant unjar

我有像下面这样的unjar ant任务,直到我改变了classpath以包含一个jar文件。想知道解开javac.classpath中列出的每个jar的诀窍是什么。一旦javac.classpath有多个jar文件,它基本上就会破坏。我是Ant newbee。我试图想出一种方法来枚举javac.classpath中的每个jar并将其解压缩到build.classes.dir文件夹。

    <unjar dest="${build.classes.dir}">
        <fileset file="${javac.classpath}" >
        </fileset>
    </unjar>

1 个答案:

答案 0 :(得分:0)

如果javac.classpath指向一个文件夹,那么

<unjar dest="${build.classes.dir}">
    <fileset dir="${javac.classpath}" >
    </fileset>
</unjar>

将解开该文件夹中的所有jar文件。

如果javac.classpath是以逗号/分号分隔的文件路径列表,那么您应该稍微更改脚本以使用文件集,例如;

<?xml version="1.0" encoding="UTF-8"?>
<project name="Un-jar Demo" default="un-jar">

    <fileset id="javac.classpath" dir="/path/to/jar/folder">
        <include name="jar-file-1.jar" />
        <include name="jar-file-2.jar" />
    </fileset>

    <target name="un-jar">

        <unjar dest="test">
            <fileset  refid="javac.classpath">
            </fileset>
        </unjar>

    </target>

</project>

当然,您可以找到some other ways将逗号分隔的文件列表转换为文件集