如何在ant的构建文件中包含类?

时间:2011-07-25 00:30:28

标签: java ant

我正在创建一个我编写的javaagent的jar文件。但是,该代理依赖于另一个java库。

所以,我想知道,如何将我的程序正在使用的整个包包含在jar文件中,以便在jar执行时可以使用它?

1 个答案:

答案 0 :(得分:2)

解压缩你想要包含的jar并把它放到最后一个jar中。以下是为您执行此操作的ant命令。

<target name="package">
  <!-- Staging  is simply a temporary directory for exploding the jar files.  You
       can call the directory whatever you want.  -->
  <property  name="staging.dir" location="staging"/>

  <mkdir  dir="${staging.dir}"/>

  <unjar dest="${staging.dir}">
    <fileset dir="lib" >
      <include name="*"/>
    </fileset>
  </unjar>

  <mkdir dir="classes"/>

    <javac debug="on" srcdir="src" destdir="classes" target="1.5" includes="**/*">
        <classpath refid="build.class.path"/>
    </javac>


     <jar destfile="Product.jar"
          basedir="classes"
          excludes="**/Test.class">
       <fileset  dir="${staging.dir}"/>
     </jar>

    <!-- Delete the temporary staging directory.  -->
    <delete dir="${staging.dir}" />
</target>