2011-07-13 69 views
1

我在使用Ant找到并使用某些包时遇到问题。当我从命令行直接调用javac时,会发现并使用这些包。Ant问题包装问题

.jar文件位于我的主目录下的lib/java。这是我的类路径: /home/bliskovs/lib/java/*:/home/bliskovs/vendor/cytoscape-v2.7.0/cytoscape.jar

这是我build.xml的相关章节:

<target name="compile"> 
    <javac srcdir="." debug="true"/> 
    <javac srcdir="tools/" debug="true"/> 
    <javac srcdir="core/" debug="true"/> 
    </target> 

我怎样才能得到Ant来识别这些包?

回答

1

看看这个。

<property name="build.classes.dir" location="build/classes"/> 

<path id="compile.classpath"> 
    <fileset dir="lib"/> 
    <pathelement location="/home/bliskovs/vendor/cytoscape-v2.7.0"/> 
</path> 

<target name="compile" description="Compile src dir"> 
    <javac destdir="${build.classes.dir}" debug="true" includeantruntime="true"> 
    <src location="src"/> 
    <classpath refid="compile.classpath"/> 
    </javac> 
</target> 
1

定义javac任务的类路径。依赖于CLASSPATH环境变量是一种不好的做法。对于项目的构建过程来说更是如此,它应该可以在不需要设置大量环境变量的情况下工作。如果您一次开始开发三个或四个项目,您将会明白为什么使用单个CLASSPATH变量是一个糟糕的主意。

请参阅http://ant.apache.org/manual/Tasks/javac.html了解如何在build.xml中定义类路径并在javac任务中使用它。