用ant进行编译和打包(java)
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)的更多相关文章
- 使用ant自动编译、打包生成apk文件
上次使用命令行生成apk文件<Android 命令行编译.打包生成apk文件>,学习命令行生成的目的是为了编写ant打下基础. 一. ant环境 下载ant包,配置环境变量 二.ant编译 ...
- 通过DOS、SHELL批处理命令加载Lib并编译和打包Java项目(或者运行项目)
有些时候,需要通过DOS批处理来编译整个项目的JAVA文件:并且编译后还要对Class文件进行打包成jar文件...这还不是最烦的,最烦的是,编译和打包的时候需要依赖其他多个jar文件,困难就这么来了 ...
- Ubuntu环境下使用Maven编译并打包Java项目
一.安装Maven 打开终端输入以下指令: $ mvn -v Apache Maven Maven home: /usr/share/maven Java version: 1.8.0_181, ve ...
- Eclipce结合Ant进行编译、打包、传输、运行
注意: 用Ant构建时,build path只能是单级的,如默认的src,如果是类似basePath/jsr253这样的话,运行Ant build时会报错,说找不到jsr253. (此文讲述的是以an ...
- 无IDE时编译和运行Java
最近 Java subreddit 出现了一篇”在没有IDE的情况下编译Java包” 的帖子,这个帖子抛出了这么一个问题,“是否存在一个命令可以编译一组处于同一文件夹下独立包内的java文件的方法(这 ...
- [转]无IDE时编译和运行Java
本文由 ImportNew - Grey 翻译自 dzone.欢迎加入Java小组.转载请参见文章末尾的要求. 最近 Java subreddit 出现了一篇”在没有IDE的情况下编译Java包” 的 ...
- Ant自动编译打包&发布 android项目
Eclipse用起来虽然方便,但是编译打包android项目还是比较慢,尤其将应用打包发布到各个渠道时,用Eclipse手动打包各种渠道包就有点不切实际了,这时候我们用到Ant帮我们自动编译打包了. ...
- windows下Android利用ant自动编译、修改配置文件、批量多渠道,打包生成apk文件
原创文章,转载请注明:http://www.cnblogs.com/ycxyyzw/p/4535459.html android 程序打包成apk,如果在是命令行方式,一般都要经过如下步骤: 1.用a ...
- 使用Ant构建struts2 web工程,自动编译,打包成war
c&c++语言通常使用make脚本来构建和管理自己的工程,同样java也有自己的构建工具(Ant),使用时需要写一个biuld.xml,有点类似c&c++里的makefile. 一.首 ...
随机推荐
- (二)shell中case语句、程序传参、while
2.2.6.1.case语句(1)shell中的case语句和C语言中的switch case语句作用一样,格式有差异(2)shell中的case语句天生没有break,也不需要break,和C语言中 ...
- hibernate配置文件中的catalog属性
在hibernate表的映射文件中 <hibernate-mapping> <class name="com.sooyie.hibernate.orm.Link&qu ...
- CSocket必须使用stream socket不能够使用数据报 socket
如果使用MFC socket类CSoket通讯,必须使用stream socket,不能够使用 SOCK_DGRAM 类型socket.原因如下: 1 stream socket和数据报socket的 ...
- Intellij IDEA-can't use subversion command line client : svn
http://www.myexception.cn/cvs-svn/1935962.html
- Java常见错误
1.NullPointerExceptin 空指针异常 a.引用没有初始化就使用 b.引用置空了,仍然被使用 2.IndexOutofBoundsException 下标越界 a.数组下标小于0 或者 ...
- 用NAN简化Google V8 JS引擎的扩展
通过C++扩展Google V8 JS引擎的文章很多,Google V8 JS带的例子也容易明白.但是大部分文章都是Hello World型的,真正使用时发现处处是坑.扩展V8最经典的例子就是node ...
- MIRO校验过程
一.介绍发票校验是物料管理(MM)系统的一部分.它提供物料管理部分和财务会计, 成本控制和资产管理部分的连接.物料管理模块的发票校验为以下目的服务:它完成物料采购的全过程 - 物料采购从采购申请开始, ...
- AC自动机 & Fail树 专题练习
Fail树就是AC自动机建出来的Fail指针构成的树. [bzoj3172][xsy1713]单词 题意 给定一些单词,求每个单词在所有单词里面的出现次数. 分析 构建Fail树,记录每个单词最后一个 ...
- hdu----(1671)Phone List(Trie带标签)
Phone List Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total ...
- think in java 读书笔记 1 ——移位
目录 think in java 读书笔记 1 ——移位 think in java 读书笔记 2 —— 套接字 think in java 读书笔记 3 —— 数据报 在Think in Java中 ...