我有像下面这样的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>
答案 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将逗号分隔的文件列表转换为文件集