我在使用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识别这些包?
答案 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>