Ant的包问题

时间:2011-07-13 16:21:38

标签: java ant

我在使用Ant使用的javac来查找和使用某些软件包时遇到了问题。当我直接从命令行调用javac时,会找到并使用包。

.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识别这些包?

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分: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>