ant 编译build时引用软件包找不到时原因在于没有对其引用的jar包指定路径。
首先,设一个path节点,格式如下,确定其id属性
<path id="compile.classpath">
<pathelement location="../../bqlib/out/bqlib.jar"/>
</path>
然后在你的目标tagret下调用javac节点时,给javac节点添加classpath的refid属性
<target name="compile" depends="prepare">
<javac srcdir="${src.dir}" destdir="${classes.dir}">
<classpath refid= "compile.classpath"/>
</javac>
</target>
关于ant的build xml的其它各项我就不再多说了。
以下是我一个build.xml的完整例子,实现用ant编译并运行类“LineEdit.CoatLines”:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<project name="bqlib" default="compile">
<property name="src.dir" value="../src"></property>
<property name="classes.dir" value="classes"></property>
<property name="bak.dir" value="bak"></property>
<path id="compile.classpath">
<pathelement location="../../bqlib/out/bqlib.jar"/>
</path>
<target name="prepare">
<mkdir dir="${classes.dir}"/>
<mkdir dir="${bak.dir}"/>
<copy todir="${bak.dir}">
<fileset dir="${classes.dir}"></fileset>
</copy>
</target>
<target name="compile" depends="prepare">
<javac srcdir="${src.dir}" destdir="${classes.dir}">
<classpath refid= "compile.classpath"/>
</javac>
</target>
<target name="run" depends="compile">
<java classname="LineEdit.CoatLines">
<classpath path="${classes.dir}"/>
</java>
</target>
</project>
首先,设一个path节点,格式如下,确定其id属性
<path id="compile.classpath">
<pathelement location="../../bqlib/out/bqlib.jar"/>
</path>
然后在你的目标tagret下调用javac节点时,给javac节点添加classpath的refid属性
<target name="compile" depends="prepare">
<javac srcdir="${src.dir}" destdir="${classes.dir}">
<classpath refid= "compile.classpath"/>
</javac>
</target>
关于ant的build xml的其它各项我就不再多说了。
以下是我一个build.xml的完整例子,实现用ant编译并运行类“LineEdit.CoatLines”:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<project name="bqlib" default="compile">
<property name="src.dir" value="../src"></property>
<property name="classes.dir" value="classes"></property>
<property name="bak.dir" value="bak"></property>
<path id="compile.classpath">
<pathelement location="../../bqlib/out/bqlib.jar"/>
</path>
<target name="prepare">
<mkdir dir="${classes.dir}"/>
<mkdir dir="${bak.dir}"/>
<copy todir="${bak.dir}">
<fileset dir="${classes.dir}"></fileset>
</copy>
</target>
<target name="compile" depends="prepare">
<javac srcdir="${src.dir}" destdir="${classes.dir}">
<classpath refid= "compile.classpath"/>
</javac>
</target>
<target name="run" depends="compile">
<java classname="LineEdit.CoatLines">
<classpath path="${classes.dir}"/>
</java>
</target>
</project>
转载于:https://blog.51cto.com/bugcool/387902