Ant入门: Hello World with Apache Ant
笔者因项目需要进行java程序打包,之前一直使用的最多的打包工具要数fat-jar了。此工具将所有引用的jar包以及源码生成的class一起打到一个包里面,运行程序的时候直接运行命令:java –jar jarname.jar。
fat-jar看似很方便。但是在实际运用中存在2大缺点:
1.将所有jar包都整合到一起,导致jar包太大,一般最小几百k,最大十几MB都有,上传至服务器时,耗时较长。
2.每次更新jar包,引用的包又要重新打进去。其实引用的包根本就没做更改,特别是引用的jar包较多时,打包时间较长。
通过查找网络资料,发现Ant是个不错的打包工具,特在此小试牛刀。下面以一个简单程序Hello World开始,具体操作过程记录如下,用以备忘。
HelloWorld.Java代码如下:
package com.iie.test.ant;
public class HelloWorld {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("Hello World");
}
}
build.xml代码如下:
<?xml version="1.0" encoding="utf-8"?>
<project name ="HelloWorld" default="jar" basedir="."> <target name="clean">
<delete dir="${basedir}/build"/>
</target> <target name="compile" depends ="clean">
<mkdir dir ="${basedir}/build/classes"/>
<javac includeantruntime="false" srcdir ="${basedir}/src" destdir ="${basedir}/build/classes"/>
</target> <target name="run" depends ="compile">
<java classname ="com.iie.test.ant.HelloWorld">
<classpath>
<pathelement path="${basedir}/build/classes"/>
</classpath>
</java>
</target> <target name="jar" depends="run">
<mkdir dir="build/jar"/>
<jar destfile="build/jar/HelloWorld.jar" basedir="${basedir}/build/classes">
<manifest>
<attribute name="Main-class" value="com.iie.test.ant.HelloWorld"/>
</manifest>
</jar>
</target > </project>
运行结果如下:
(1)console下出现:[java] Hello World
(2)build\jar文件夹下生成HelloWorld.jar,cmd下运行java -jar HelloWorld.jar即可
Ant入门: Hello World with Apache Ant的更多相关文章
- Apache Ant 项目构建
项目构建:通过构建工具对多个项目进行统一批量的编译和运行,比如,对多个Jmeter脚本批量运行 1.Ant是什么? Ant是 构建工具,Apache Ant是一个将软件编译.测试.部署等步骤联系在一起 ...
- apache ant 修改java版本 方法之一
通常apache ant是和eclipse软件绑定在一起的.尝试了一些方法不行,想到了一个笨的方法,分享一下: ①打开ant 编译时的配置界面 ②.切换到classPath选项卡,选择ant home ...
- [Java] Apache Ant 构建基础教程
环境:Ubuntu 12.04, java 1.7.0, ant 1.8.2. 前言 Apache Ant 是一个软件自动化构建工具,构建过程包括编译.测试和部署等.它和 Make 工具相似,但由 J ...
- ANT入门&用ANT编译java项目
第一次接触ant是15年在无锡某软件公司实习时,当时的项目是由多个模块组成,开发分成模块开发的几个小组.为了提高开发效率,采用这种编译项目的方法. 最近接触到flex项目,采用eclipse自动编译的 ...
- ant入门程序
一. ant简单介绍 Ant是apache的一个核心项目, 它的作用是项目自己主动化构建, 由于它内置了Javac.Java.创建文件夹.拷贝文件等功能, 直接执行build.xml文件就能够编译我们 ...
- Ant入门
一.Ant介绍 Ant是Java的生成工具,是Apache的核心项目:直接在apache官网下载即可: Ant类似于Unix中的Make工具,都是用来编译.生成: Ant是跨平台的,而Make不能: ...
- Apache Ant运行时Unable to locate tools.jar解决方法
下载Apache Ant 一.解压ant安装包在D:\ant下 二.环境变量配置 ANT_HOME D:\ant\apache-ant-1.9.0 CLASSPATH ;%ANT_HOME%lib; ...
- Apache Ant在Windows下配置环境变量
Windows下ANT用到的环境变量主要有2个: ANT_HOME 和 PATH. 1..设置ANT_HOME指向ant的安装目录,如下: ANT_HOME = D:\soft\apache\apac ...
- (原创)ubuntu 12.04 安装 apache ant
1. go to the websie to download the newest version of ant (search google by "Apache Ant"). ...
- 使用 apache ant 轻松实现文件压缩/解压缩(转)
原文地址:http://blog.csdn.net/irvine007/article/details/6779492 maven配置ant包: <dependency> <grou ...
随机推荐
- iOS 调整图片尺寸,告诉你的UI,别问我尺寸!我要最大的
如果UI问你“这个图片你要多大尺寸的?”,你该怎么回答呢? 为了不让图片因拉伸或压缩而变形或模糊,请精确告诉UI图片的比例,至于图片的分辨率,不必要要求太严,但是最低要求是要让最大的屏幕不会出现前面描 ...
- 20145219 《Java程序设计》第03周学习总结
20145219 <Java程序设计>第03周学习总结 教材学习内容总结 基本类型和类类型 基本类型:第三章中讲述的那几种,short.long.int.byte.double.char. ...
- 使用Socket&反射&Java流操作进行方法的远程调用(模拟RPC远程调用)
写在前面 阅读本文首先得具备基本的Socket.反射.Java流操作的基本API使用知识:否则本文你可能看不懂... 服务端的端口监听 进行远程调用,那就必须得有客户端和服务端.服务端负责提供服务,客 ...
- kali 2016:mount ntfs 分区只读 --Falling back to read-only mount because the NTFS partition is in an unsafe state.
mount ntfs 分区 mount /dev/sdb1 /mnt/d 提示: The disk contains an unclean file system (0, 0).Metadata ke ...
- AppLocker Pro FAQ
How to use AppLocker Pro: 1. Start AppLocker Pro, create a password.2. In the main console, click &q ...
- java实现同步的方法
为何要实现同步 java允许多线程并发控制,当多个线程同时操作一个可共享的资源变量时(如数据的增删改查), 将会导致数据不准确,相互之间产生冲突,因此加入同步锁以避免在该线程没有完成操作之前 ...
- Linux(CentOS)网络配置
1. 查看网口连接情况 2.修改网卡 3.修改主机名 4.重新启动网络 5.查看连接ifconfig,ping网络 copyright@2015 liupan liu.pan@datatom.com
- Git迁移 从SVN到Git
Migrating from SVN to Git 首先我们需要在Stach或者GitHub上新建一个Repository, 拿到它的URL. 接下来参照如下步骤 : At first we shou ...
- excel 拖拽计算时,固定一个数
$ 表示静态引用(也叫绝对引用)的意思.即固定引用的单元格的行或列. $A1即固定列为A,$A$2即固定引用为A列2行的单元格. A$3则只固定引用为第三行. 我们在使用excel拖拽计算时,常遇到这 ...
- Java 自定义注解实现ORM对象关系映射
一,ORM概念 ORM即Object Relation Mapping,Object就是对象,Relation就是关系数据库,Mapping映射,就是说Java中的对象和关系数据库中的表存在一种对应关 ...