如何在我的Ant构建中包含jar lib



我有下面的构建文件

 <?xml version="1.0" ?> 
<project name="ClientAdvisor" default="compress">
<target name="init">
    <mkdir dir="build/classes" />
    <mkdir dir="dist" />
</target>
<target name="compile" depends="init">
    <javac srcdir="src" destdir="build/classes">
    </javac>
</target>
<target name="compress" depends="compile">
        <jar destfile="dist/clientadvisor.jar" basedir="build/classes">
        </jar>
</target>

<target name="clean">
    <delete dir="build" />
    <delete dir="dist" />
</target>
</project>

我的lib文件夹中还有一个jar文件列表,这些文件是编译源文件所需的。然而,每次运行ant命令时,都会出现"类不存在"编译错误。我试过以下

<target name="compile" depends="init">
    <javac srcdir="src" destdir="build/classes">
        **<classpath>
    <pathelement path="lib/*.jar"/>
</classpath>**
    </javac>
</target>

 <target name="compress" depends="compile">
        <jar destfile="dist/clientadvisor.jar" basedir="build/classes">
             **<zipgroupfileset dir="lib/" includes="**/*.jar" />**
        </jar>
</target>

然而,这些似乎都无法解决问题。我在这里做错了什么?

如果您想在类路径中播放多个JAR文件,我会使用<fileset>而不是<pathelement>:

Apache Ant文档中的示例

<classpath>
      <fileset dir="lib">
        <include name="**/*.jar"/>
      </fileset>
      ...
</classpath>

您需要将classpathclasspathref属性与javac任务一起使用,例如:

 <path id="classpath">
    <fileset dir=".. lib dir.." includes="**/*.jar"/>
</path>
 <javac srcdir="src" destdir="build/classes" classpathref="classpath">

<javac srcdir="src" destdir="build/classes">
     <classpath refid="classpath" />
     ...

相关内容

  • 没有找到相关文章

最新更新