java ant 编译打包build.xml完整配置范例

<?xml version="1.0" encoding="UTF-8" ?>

<project name="cfcasdk" default="run" basedir=".">

<property name="src" value="src"/>

<property name="dest" value="classes"/>

<property name="base.dir" value="." /> 

<property name="lib.dir" value="${base.dir}/lib" />  

<property name="doc.dir" value="doc"/>

<property name="cfcatest_jar" value="cfcasdk.jar"/>

<property name="main.class" value="hz.cfca.sdk.cfcasdk"/>

   <path id="lib_classpath">

       <fileset dir="${lib.dir}">

           <include name="*.jar"/>

       </fileset>  

 

   </path>


<target name="init">

  <mkdir dir="${dest}"/>

</target>

<target name="compile" depends="init">

  <javac srcdir="${src}" destdir="${dest}" includeantruntime="on" encoding="UTF-8">

    <classpath refid="lib_classpath"/>

  </javac>

</target>

<target name="build" depends="compile">

  <jar jarfile="${cfcatest_jar}" basedir="${dest}" encoding="UTF-8">

<manifest>

<attribute name="Main-Class" value="${main.class}"/>

<attribute name="Class-Path" value="lib/servlet-api.jar lib/SADK-3.1.1.3.jar"/>

</manifest>

</jar>

</target>

<target name="run" depends="clean,build">

  

</target>

<target name="clean">

  <delete dir="${dest}" />

  <delete file="cfcatest_jar" />

</target>

<target name="rerun" depends="clean,run">

  <ant target="clean" />

  <ant target="run" />

</target>

<target name="createdoc">

     <delete dir="${doc.dir}" />

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

     <javadoc destdir="${doc.dir}" encoding="UTF-8" docencoding="UTF-8">

      <packageset dir="${src}">

       <include name="**"/>

      </packageset>

     </javadoc>

       </target>

</project>

=====================================================

具体使用的时候可根据实际情况修改 相关  property  XXX的值

1、build.xml放在项目跟目录下

2、代码按照package层级放在项目的src目录下

3、相关类库jar包放在项目的lib目录下

在命令行执行 ant即可编译出:<property name="cfcatest_jar" value="cfcasdk.jar"/> 指定的jar包了

还能自动生成帮助文档哦,简单不:)

本人原创未经许可,可随意转载!

java ant 编译打包build.xml完整配置范例的更多相关文章

  1. android的ant编译打包

    Android本身是支持ant打包项目的,并且SDK中自带一个build.xml文件. 通过该文件,可以对文件进行编译.打包.安装等.并且支持多种方式打包,如debug或者release. 一般的,可 ...

  2. java:JSP(JSPWeb.xml的配置,动态和静态导入JSP文件,重定项和请求转发,使用JSP实现数据库的增删改查实例)

    1.JSP的配置: <%@ page language="java" import="java.util.*" pageEncoding="UT ...

  3. 【ANT】一个简单的ANT生成文件build.xml

    <?xml version="1.0" ?> <project default="test"> <target name=&quo ...

  4. ant+jmeter中build.xml配置详解

  5. java通过maven打包解决xml读取格式失败问题

    <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compi ...

  6. web.xml完整配置

    <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://java ...

  7. JAR-使用JAVA命令编译打包一个可执行jar包

    一.开发一个演示项目 项目源代码开发 项目名称叫jar-package-example(其实只是一个文件夹, 用以将演示的所有文件夹和文件存放在其中, 没啥其它作用), 为了方便, 后文统一叫jar- ...

  8. 用ant编译打包时 警告:编码 GBK 的不可映射字符

    原因,参考http://zhidao.baidu.com/question/26901568.html 添加如下的红色一行后编译通过<target name="compile" ...

  9. Java Ant build.xml详解

    1,什么是antant是构建工具2,什么是构建概念到处可查到,形象来说,你要把代码从某个地方拿来,编译,再拷贝到某个地方去等等操作,当然不仅与此,但是主要用来干这个3,ant的好处跨平台   --因为 ...

随机推荐

  1. Codeforces Round #523 (Div. 2) F. Katya and Segments Sets (交互题+思维)

    https://codeforces.com/contest/1061/problem/F 题意 假设存在一颗完全k叉树(n<=1e5),允许你进行最多(n*60)次询问,然后输出这棵树的根,每 ...

  2. TCP/IP协议(7):应用层

    应用层上协议有DNS.DHCP.HTTP.SSL/TLS.FTP.Telnet等. 1.DNS域名解析 DNS服务器用来解析域名从而获得对应IP地址,我们在对网络进行设置的时候如果DNS服务器没有设置 ...

  3. java启动jar包中的指定类

    运行jar文件的方法是:java -jar xxx.jar 希望运行里面的具体某个类,这时可以通过:java -cp xxx.jar xxx.com.xxxx 其中-cp命令是将xxx.jar加入到c ...

  4. s5-2 Cpu调度算法

    调度程序采用什么算法选择一个进程(作业)? 如何评价调度算法的性能? 调度准则 CPU利用率 – 使CPU尽可能的忙碌 吞吐量 – 单位时间内运行完的进程数 周转时间 – 进程从提交到运行结束的全部时 ...

  5. Mybatis-Plus 实战完整学习笔记(三)------导入MybatisPlus环境

    1.dao层接口引入 package com.baidu.www.mplus.mapper; import com.baidu.www.mplus.bean.Employee; import com. ...

  6. matlab中的结构体

    今天用imfinfo函数 >> K = imfinfo(‘colorbar_copy1.jpg’) K = 包含以下字段的 struct: Filename: 'E:\matlab\col ...

  7. ASP.NET 压缩输出的HTML字符

    重写Render using System; using System.Collections.Generic; using System.Text; using System.Web.UI; usi ...

  8. Redis模块开发示例

    实现一个Redis module,支持两个扩展命令: 1) 可同时对hash的多个field进行incr操作: 2) incrby同时设置一个key的过期时间 在没有module之前,需要借助eval ...

  9. Qt_模块简介

    Qt4 和 Qt5最大的区别之一就是底层架构有了修改.Qt5引入了模块化的概念,讲众多功能细分到几个模块之中.需要达到,用什么模块知道到哪个模块去寻找. Qt5模块分为Essentials Modul ...

  10. 终端简单使用 &vim编写代码

    vim简单实用 & 用vim编写代码 ##  简单介绍  ## vi 1.c 建立1.c(文件存在,则打开1.c) vi共有三种模式: 按esc进入指令模式 按i进入编辑模式(按i光标位置不变 ...