Ant - 创建 JAR 文件

  • 简述

    编译 java 源文件后的下一个合乎逻辑的步骤是构建 java 存档,即 Java 存档 (JAR) 文件。使用 Ant 创建 JAR 文件非常简单jar任务。
  • 属性

    jar 任务的常用属性如下:
    序号 属性和说明
    1
    basedir
    输出 JAR 文件的基本目录。默认情况下,这被设置为项目的基本目录。
    2
    compress
    建议 Ant 在创建 JAR 文件时压缩该文件。
    3
    keepcompression
    虽然 compress 属性适用于单个文件,但 keepcompression 属性做同样的事情,但它适用于整个档案。
    4
    destfile
    输出 JAR 文件的名称。
    5
    duplicate
    建议 Ant 在发现重复文件时如何操作。您可以添加、保留或删除重复文件。
    6
    excludes
    建议 Ant 不要在包中包含这些以逗号分隔的文件列表。
    7
    excludesfile
    与上面相同,除了使用模式指定排除文件。
    8
    inlcudes
    排除的倒数。
    9
    includesfile
    excludesfile 的倒数。
    10
    update
    建议 Ant 覆盖已构建的 JAR 文件中的文件。
    继续我们的Hello World传真应用程序项目,让我们添加一个新目标来生成 jar 文件。
    但在此之前,让我们考虑下面给出的 jar 任务。
    
    
    <jar destfile="${web.dir}/lib/util.jar"
    
       basedir="${build.dir}/classes"
    
       includes="faxapp/util/**"
    
       excludes="**/Test.class"
    
    />
    
    
    在这里,web.dir属性指向网页源文件的路径。在我们的例子中,这是放置 util.jar 的地方。
    build.dir本例中的属性指向 build 文件夹,其中类文件用于util.jar可以被找寻到。
    在此示例中,我们使用来自faxapp.util.*包裹。但是,我们排除了以名称 Test 结尾的类。输出的 jar 文件将放在 Web 应用程序的 lib 文件夹中。
    如果我们想让 util.jar 成为可执行的 jar 文件,我们需要添加manifestMain-Class元属性。
    因此,上面的例子将更新如下 -
    
    
    <jar destfile="${web.dir}/lib/util.jar"
    
       basedir="${build.dir}/classes"
    
       includes="faxapp/util/**"
    
       excludes="**/Test.class" translate="no"
    
       <manifest translate="no"
    
          <attribute name="Main-Class" value="com.jc2182.util.FaxUtil"/>
    
       </manifest translate="no"
    
    </jar translate="no"
    
    
    要执行 jar 任务,将其包装在一个目标中,最常见的是构建或打包目标,然后执行它们。
    
    
    <target name="build-jar" translate="no"
    
    <jar destfile="${web.dir}/lib/util.jar"
    
       basedir="${build.dir}/classes"
    
       includes="faxapp/util/**"
    
       excludes="**/Test.class" translate="no"
    
       <manifest translate="no"
    
          <attribute name="Main-Class" value="com.jc2182.util.FaxUtil"/>
    
       </manifest translate="no"
    
    </jar translate="no"
    
    </target translate="no"
    
    
    在此文件上运行 Ant 会为我们创建 util.jar 文件。
    以下结果是运行 Ant 文件的结果 -
    
    
    C:\ translate="no"ant build-jar
    
    Buildfile: C:\build.xml
    
    
    
    BUILD SUCCESSFUL
    
    Total time: 1.3 seconds
    
    
    util.jar 文件现在位于输出文件夹中。