ant是目前java环境下最好用的打包部署工具,其采用xml的格式进行编写,功能非常强大。
现介绍一下如何手工使用ant进行java程序的编译打包。
一、安装ant
1.下载并安装ant。
到官方主页http://ant.apache.org下载新版(目前为Ant1.8.1)的ant,得到的是一个apache-ant-1.8.1-bin.zip的压缩包。将其解压到你的硬盘上,例如:D:\apache-ant-1.8.1。
2.配置环境变量。
依次选择:我的电脑->属性->高级->环境变量->系统变量->Path->编辑->变量值,在最前面添加如下内容:
D:\apache-ant-1.8.1\bin;
然后点击“确定”,完成环境变量的配置。
3.验证ant。
为了验证ant是否成功安装,可以进行如下操作:
依次选择:开始->运行->cmd,输入如下命令:
ant
如果出现如下内容,说明安装成功:
Buildfile: build.xml does not exist!
Build failed
但如果出现如下内容,说明安装失败:(应重复前述步骤,直至安装成功。)
'ant' 不是内部或外部命令,也不是可运行的程序或批处理文件。

二、编辑java源文件
以我的“java记事本”为例,新建文件E:\资料\test\src\NotePad.java,其结构如下:

package com.xiboliya.snowpad;
public class NotePad {
public static void main(String[] args) {
// ...
}
}

三、编辑ant
新建文件E:\资料\test\build.xml,其内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<project name="AntProject" default="Build" basedir=".">
<property name="srcDir" location="src" />
<property name="binDir" location="ant/bin" />
<property name="jarDir" location="ant/jar" />
<property name="jarFile" location="${jarDir}/NotePad.jar" />
<property name="package" value="com.xiboliya.snowpad" />
<property name="mainClass" value="NotePad" />
<target name="Init">
<delete dir="${binDir}" />
<delete dir="${jarDir}" />
<mkdir dir="${binDir}" />
<mkdir dir="${jarDir}" />
</target>
<target name="Compile" depends="Init">
<javac srcdir="${srcDir}" destdir="${binDir}" />
</target>
<target name="MakeJar" depends="Init,Compile">
<jar destfile="${jarFile}" basedir="${binDir}">
<manifest>
<attribute name="Main-Class"
value="${package}.${mainClass}" />
</manifest>
</jar>
</target>
<target name="Build" depends="Init,Compile,MakeJar">
<echo message="Ant is building the project." />
</target>
</project>

四、运行ant
1.在命令提示符下转到目录E:\资料\test,输入如下命令:
ant
如果没有错误将输出如下信息:

Buildfile: build.xml

Init:
[delete] Deleting directory E:\资料\test\ant\bin
[delete] Deleting directory E:\资料\test\ant\jar
[mkdir] Created dir: E:\资料\test\ant\bin
[mkdir] Created dir: E:\资料\test\ant\jar

Compile:
[javac] Compiling 1 source file to E:\资料\test\ant\bin

MakeJar:
[jar] Building jar: E:\资料\test\ant\jar\NotePad.jar

Build:
[echo] Ant is building the project.

BUILD SUCCESSFUL
Total time: 2 seconds

2.双击生成的E:\资料\test\ant\jar\NotePad.jar文件,如果可以正常运行,则说明ant编写无误。

用途:

.jar文件有两个用途,第一个是可以直接在dos下执行,具体步骤是运行进入.jar所在的目录java -jar xxx.jar 回车可以直接执行。第二个是将这个jar包用作类库,也就是说,你可以在其他java 类里引用它(在类源文件最前面用import xxx就可以引用了),从而调用它的方法。

用ant进行编译和打包(java)的更多相关文章

  1. 使用ant自动编译、打包生成apk文件

    上次使用命令行生成apk文件<Android 命令行编译.打包生成apk文件>,学习命令行生成的目的是为了编写ant打下基础. 一. ant环境 下载ant包,配置环境变量 二.ant编译 ...

  2. 通过DOS、SHELL批处理命令加载Lib并编译和打包Java项目(或者运行项目)

    有些时候,需要通过DOS批处理来编译整个项目的JAVA文件:并且编译后还要对Class文件进行打包成jar文件...这还不是最烦的,最烦的是,编译和打包的时候需要依赖其他多个jar文件,困难就这么来了 ...

  3. Ubuntu环境下使用Maven编译并打包Java项目

    一.安装Maven 打开终端输入以下指令: $ mvn -v Apache Maven Maven home: /usr/share/maven Java version: 1.8.0_181, ve ...

  4. Eclipce结合Ant进行编译、打包、传输、运行

    注意: 用Ant构建时,build path只能是单级的,如默认的src,如果是类似basePath/jsr253这样的话,运行Ant build时会报错,说找不到jsr253. (此文讲述的是以an ...

  5. 无IDE时编译和运行Java

    最近 Java subreddit 出现了一篇”在没有IDE的情况下编译Java包” 的帖子,这个帖子抛出了这么一个问题,“是否存在一个命令可以编译一组处于同一文件夹下独立包内的java文件的方法(这 ...

  6. [转]无IDE时编译和运行Java

    本文由 ImportNew - Grey 翻译自 dzone.欢迎加入Java小组.转载请参见文章末尾的要求. 最近 Java subreddit 出现了一篇”在没有IDE的情况下编译Java包” 的 ...

  7. Ant自动编译打包&发布 android项目

    Eclipse用起来虽然方便,但是编译打包android项目还是比较慢,尤其将应用打包发布到各个渠道时,用Eclipse手动打包各种渠道包就有点不切实际了,这时候我们用到Ant帮我们自动编译打包了. ...

  8. windows下Android利用ant自动编译、修改配置文件、批量多渠道,打包生成apk文件

    原创文章,转载请注明:http://www.cnblogs.com/ycxyyzw/p/4535459.html android 程序打包成apk,如果在是命令行方式,一般都要经过如下步骤: 1.用a ...

  9. 使用Ant构建struts2 web工程,自动编译,打包成war

    c&c++语言通常使用make脚本来构建和管理自己的工程,同样java也有自己的构建工具(Ant),使用时需要写一个biuld.xml,有点类似c&c++里的makefile. 一.首 ...

随机推荐

  1. Python学习笔记13—错误和异常

    常见的异常:

  2. surfaceview介绍

    [1]surfaceview 控件是一个重量级控件      [2]内部维护了2个线程     A 获取数据  负责显示     B 负责显示  获取数据      [3]他可以直接在子线程更新ui ...

  3. golang chan 超时

    golang chan 超时 Posted on 2013-12-24 13:03 oathleo 阅读(4227) 评论(0)  编辑  收藏 package main import (    &q ...

  4. D3.js 交互式操作

    与图表的交互,指在图形元素上设置一个或多个监听器,当事件发生时,做出相应的反应. 一.什么是交互 交互,指的是用户输入了某种指令,程序接受到指令之后必须做出某种响应.对可视化图表来说,交互能使图表更加 ...

  5. JavaScript的事件对象_键盘事件

    用户在使用键盘时会触发键盘事件.“DOM2 级事件”最初规定了键盘事件,结果又删除了相应的内容.最终还是使用最初的键盘事件,不过 IE9 已经率先支持“DOM3”级键盘事件. 一.键码 在发生 key ...

  6. nginx日志文件切割

    #!/bin/bash #脚本对日志文件进行切割 #脚本需要crontab 每天定时执行 #Nginx 日志文件的存放路径 logs_path="/../logs/" mkdir ...

  7. easyui 上传文件代码

    using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.IO;usi ...

  8. 有用的dede表单代码

    <form action="" class="demoform">                <table>             ...

  9. jq实现多级手风琴效果

    /*左侧*/ .wrapper, .main { height: 100%; z-index: 9 } .main { position: relative; } .main_L { width: 2 ...

  10. win7开启硬盘AHCI

    问题描述:装win7的时候没有在AHCI模式下安装,而是在IDE模式下安装的,后来安装完毕以后想更改成AHCI模式,可是更改以后启动电脑蓝屏并重启 解决方法: 如果是在IDE模式下安装的系统,由于在安 ...