2016-09-25 57 views
0

我有像下面那样的unjar ant任务,直到我改变了classpath以包含一个jar文件。想知道在javac.classpath中列出的每一个罐子是什么技巧。基本上,一旦javac.classpath拥有多个jar文件就会破坏它。我是Ant newbee。我想找出一种方法来枚举javac.classpath中的每个jar,并将其解压到build.classes.dir文件夹。如何unjar javac.classpath引用到文件夹中的每个jar?

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

回答

0

如果javac.classpath指向一个文件夹,然后

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

将其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到文件的逗号分隔的列表转换为文件集

+0

不幸的是在类路径中列出的罐子都在不同的目录。 Ant和类似的任务听起来很有希望。但它们不是标准的Ant任务。我无法得到ant-contrib lib与Netbeans一起工作,这正是我用来构建我们的代码的工具。 – videoguy

相关问题