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. N-Queens II

    Description: Follow up for N-Queens problem. Now, instead outputting board configurations, return th ...

  2. 在beforeAction里redirect无效,Yii2.0.8

    我是在官方GitHub上得到回答,试了一下,确实解决问题了.之前的问题描述: 之前是2.0.3,然后用composer直接升级到2.0.8,就不正常了,以为是我代码的问题,于是再次尝试 用compos ...

  3. 使用连接(JOIN)来代替子查询(Sub-Queries) mysql优化系列记录

    使用连接(JOIN)来代替子查询(Sub-Queries) MySQL从 4.1开始支持SQL的子查询.这个技术可以使用SELECT语句来创建一个单列的查询结果,然后把这个结果作为过滤条件用在另一个查 ...

  4. 实例级别和类级别的static、构造函数、字段属性的简单介绍

    using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace 实例级别 ...

  5. Boostrap学习心得

    进入新公司,前端用到各种页面元素几乎都是bootStrap框架里的,下面介绍下某些页面控件怎么运用,作为知识点备份,提供有需要人观看: 首先下载bootstrap,地址http://www.bootc ...

  6. Redhat Linux 性能 - 内置的 sar

    缺省 / 默认 Redhat Linux 会自动使用 sar 采集系统性能信息,并记录到 /var/log/sa 每 10分钟采集一次, 记录 CPU / Memory / Disk / Networ ...

  7. 集成代码编辑器ACE的经验

    ACE是最流行的在线代码编辑器之一,在CanTK的集成开发环境GameBuilder里也使用了ACE.ACE的功能非常强大,但是由于使用方法不当,大家反映GameBuilder的代码编辑器不好用.最近 ...

  8. bower install和cnpm install

    bower install :主要是安装前端的相关框架,如Boostarp,Angular等 cnpm install :主要是安装后端的,如express等

  9. jmeter 实时搜索结果

    因为JMeter 2.13你可以得到实时搜索结果发送到后端通过 后端侦听器 使用潜在的任何后端(JDBC.JMS网络服务,€Š) 通过提供一个实现类 AbstractBackendListenerCl ...

  10. QT-- MainWindow外的cpp文件调用ui

    这几天在学习QT,想写一个类似VIM的小软件,刚开始不注重代码结构,全部实现都写在MainWindow文件中,导致MianWindow文件十分的长而且很难去阅读,就想着把函数按照功能分到不同的cpp文 ...