ant 编译build时引用软件包找不到的解决例子

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>

你可能感兴趣的:(ant,Build,例子,编译,软件包)